Посмотреть вывод скрипта через SSH? - PullRequest
2 голосов
/ 13 декабря 2010

У меня есть скрипт с именем test.py , который выполняет следующие действия:

while (1):

.... печать "Привет, мир"

(этот скрипт просто печатает 'hello world' непрерывно).


Теперь я использую две машины (машина A и машина B). Один и тот же пользователь используется для обеих машин. Я хотел бы сделать следующее:

(1) [работа с машиной A] запуск test.py программно на машине A {означает, что будет запускаться локальный скрипт на Python test.py используя say os.system (....)} (на данный момент скрипт test.py выводит «привет мир» на экран машины А)

(2) [работа с машиной B] Теперь я хочу войти на машину A, используя ssh, и «просмотреть» вывод скрипта, который мы запустили (1)

Как мне этого добиться? Я знаю, как написать скрипт, который будет запускаться и запускать test.py на компьютере A. Я также знаю, как выполнить ssh с компьютера B на компьютер A.

Чего я не знаю, так это:

(*) Какую команду следует использовать в (1) для запуска сценария python, чтобы его выходные данные можно было легко просмотреть при ведении журнала с другого компьютера (компьютера B) на компьютер A?

(*) После ssh с машины B на машину A, как мне «перейти» к экрану, который показывает вывод test.py ?

Ответы [ 2 ]

4 голосов
/ 13 декабря 2010

Есть несколько способов сделать это ... Но, возможно, самым простым будет буфер fifo:

A$ mkfifo /tmp/stuff
A$ ./test.py &> /tmp/stuff

Затем на машине B:

B$ ssh A "cat /tmp/stuff"
hello world
hello world
...

Обычно я бы предложилиспользуя screen, но предполагается, что вы собираетесь работать изнутри терминала (что было бы сложно).Я слышал, что detach должно быть проще, так что, возможно, вы могли бы попробовать это?

1 голос
/ 13 декабря 2010

Очень быстрая альтернатива - перенаправить вывод вашей программы на языке Python в файл, а затем просто использовать tail со вторым пользователем, чтобы увидеть вывод, когда он записывается в файл.Однако при использовании такой программы, как у вас, файл очень быстро станет массивным.

...