2012-01-21 3 views
2

Я выполнял задачу rake как отдельный процесс на своем сервере и печатал на STDOUT отслеживание хода выполнения этого скрипта.Как я могу слушать запущенный процесс Linux?

Во время соединения SSH мое подключение к Интернету перезагружается. Когда я восстановил соединение с сервером, я обнаружил, что процесс все еще работает. Я хочу слушать его STDOUT. У меня есть идентификатор процесса.

Как я могу это сделать?

+2

У меня нет ответа, но вы действительно должны использовать tmux или экран для такого рода вещи. –

+0

Возможный дубликат [Как процесс перехвата stdout и stderr другого процесса в Linux?] (Http://stackoverflow.com/questions/249703/how-can-a-process-intercept-stdout-and-stderr-of процесс-свой--на-Linux) – jcollado

ответ

1

На будущее рассмотрим screen. Этот замечательный маленький инструмент может содержать большое количество виртуальных терминалов и позволяет вам легко переключаться с одного на другой (даже не используя мышь), но лучше всего, если вы отключите виртуальные терминалы, пока вы не подключитесь и не восстановите сеанс экрана.

Чтобы начать сеанс экрана:

screen 

Чтобы отключить сеанс экрана на цели, так что вы можете отключить и оставить его работать:

C-a C-d 

Чтобы установить вашу отдельностоящий сессию экрана

screen -dr 

Для этого есть еще много, но этого достаточно, чтобы вы начали.

0

Я не имеет Linux VM под руку, чтобы проверить это, но вы можете быть в состоянии подключиться к процессу с помощью GDB, open(2) нового дескриптора файла для использования в качестве стандартного вывода, то dup2(2) что Fd 1.

Смежные вопросы