Как предвидеть процесс, начатый выскочкой?

Возможно ли предвидеть процесс, начатый выскочкой?

root@me:~# ps aux | grep my-app
root      2208  0.2  0.0   1456   480 ?        S    17:38   0:01 /opt/me/my-app
root@me:~# fg 2208
-bash: fg: 2208: no such job
root@me:~# fg $(pidof my-app)
-bash: fg: 2208: no such job

2 ответа

Решение

fg нужен номер работы, а не PID. Вы не можете использовать номер задания, потому что любой процесс, запущенный upstart не дитя вашей оболочки. Не появится в jobs выход.

ПытатьсяreptyrНапример:

reptyr 2208

Из его справочной страницы:

reptyr утилита, которая берет существующую работающую программу и подключает ее к новому терминалу.

Не пропустите эту заметку:

reptyr зависит от ptrace(2) системный вызов для подключения к удаленной программе. В Ubuntu Maverick и выше эта возможность отключена по умолчанию из соображений безопасности. Вы можете включить его временно, выполнив

echo 0 > /proc/sys/kernel/yama/ptrace_scope

как root или навсегда, отредактировав файл /etc/sysctl.d/10-ptrace.conf, который также содержит больше информации об этой настройке.

Также обратите внимание reptyr только присоединяет процесс к другому терминалу. Это не означает, что процесс становится дочерним элементом вашей текущей оболочки.

fgКоманде нужен job_id, а не идентификатор процесса, вам нужно запустить jobs команда и получить job_id процесса

Другие вопросы по тегам