Как предвидеть процесс, начатый выскочкой?
Возможно ли предвидеть процесс, начатый выскочкой?
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 процесса