Друг, используя удаленную машину, подключился к моей машине по SSH и запустил следующий скрипт на python:
пока (1):
.... печать "привет мир"
(этот скрипт просто печатает «привет мир» непрерывно).
Теперь я вошел в мою машину. Как я могу увидеть вывод сценария, который выполнял мой друг?
если это поможет, я могу 'определить' сценарий, который использует мой друг:
me @ home: ~ $ ps aux | grep justprint.py
друг 7494 12,8 0,3 7260 3300? Сс 17:24 0:06 python TEST_AREA / justprint.py
друг 7640 0,0 0,0 3320 800 очков / 3 S + 17:25 0:00 grep --color = auto just
какие шаги я должен предпринять, чтобы просмотреть сообщения "hello world" на моем экране?
Ответы:
Вы вообще не можете видеть выходные данные программы другого человека. Посмотрите в этой колонке, где ваша команда grep работает на tty
pts/3
, а команда вашего друга -?
это означает, что она отсоединена от терминала.Вы могли видеть, куда идет вывод
ls -l /proc/7494/fd/
(где 7494 - это идентификатор процесса вашего друга) - хотя, если вы не работаете от имени пользователя root, вы, вероятно, даже не можете смотреть из соображений безопасности. (Так попробуйsudo ls -l /proc/7494/fd/
.)Есть ужасные, ужасные, грязные вещи, которые вы могли бы сделать, чтобы изменить направление вывода программы. Но в общем, вы не можете и не должны.
Если ваш друг хочет поделиться с вами выводом, и вы можете перенаправить вывод программы в файл, а затем сделать этот файл читаемым вами:
(Где в этом случае «читаемый вами» «читаемый всеми»; если немного больше работы, вы можете создать общую группу, чтобы только вы двое могли обмениваться выводом.)
(И имейте в виду, что Python буферизирует вывод по умолчанию - для этого нужно отключить его
-u
.)источник
Если у вас есть root-доступ на компьютере, и ваш друг желает выполнить некоторые команды, это возможно:
screen
должен быть установлен в root :chmod u+s /usr/bin/screen
screen
, он может дать название сессии, облегчает:screen -S "shared_session"
Ctrl-a :multiuser on
Ctrl-a :acladd you
Ctrl-a :aclchg you -w "#"
screen -x friend/shared_session
Корень setuid, возможно, немного опасен ...
источник
suid
?Must run suid root for multiuser support.
screen
без прав suid / root. Можете ли вы объяснить это дальше?