Como colocar em primeiro plano um processo iniciado por upstart?

3

É possível destacar um processo iniciado por upstart?

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
    
por tarabyte 18.07.2017 / 19:52

2 respostas

6

fg precisa de um número de trabalho, não de um PID. Não há nenhum número de trabalho que você possa usar porque qualquer processo iniciado por upstart não é filho de seu shell. Não aparecerá em jobs output.

Experimente reptyr , por exemplo:

reptyr 2208

De sua página de manual :

reptyr is a utility for taking an existing running program and attaching it to a new terminal.

Não perca esta nota:

reptyr depends on the ptrace(2) system call to attach to the remote program. On Ubuntu Maverick and higher, this ability is disabled by default for security reasons. You can enable it temporarily by doing

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

as root, or permanently by editing the file /etc/sysctl.d/10-ptrace.conf, which also contains more information about this setting.

Observe também que reptyr apenas anexa um processo a outro terminal. Isso não significa que o processo se torne um filho do seu shell atual.

    
por 18.07.2017 / 20:15
1

O comando fg precisa do job_id e não do id do processo, você precisa executar o comando jobs e obter o job_id do processo

    
por 18.07.2017 / 20:15