Come mettere in primo piano un processo avviato da upstart?


3

È possibile mettere in primo piano un processo avviato da 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

Risposte:


6

fg ha bisogno di un numero di lavoro, non di un PID. Non esiste un numero di lavoro che è possibile utilizzare perché qualsiasi processo avviato da upstart non è un bambino della tua shell. Non apparirà in jobs produzione.

Provare reptyr, per esempio.:

reptyr 2208

A partire dal la sua pagina man :

reptyr è un'utilità per prendere un programma in esecuzione e collegarlo ad un nuovo terminale.

Non perdere questa nota:

reptyr dipende da ptrace(2) chiamata di sistema da allegare al programma remoto. Su Ubuntu Maverick e versioni successive, questa abilità è disabilitata per impostazione predefinita per motivi di sicurezza. Puoi abilitarlo temporaneamente facendo

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

come root o in modo permanente modificando il file /etc/sysctl.d/10-ptrace.conf, che contiene anche ulteriori informazioni su questa impostazione.

Nota anche reptyr si collega solo un processo a un altro terminale. Questo non significa che il processo diventi figlio della tua attuale shell.


1

Il fg il comando ha bisogno del job_id e non dell'ID del processo, è necessario eseguire il jobs comando e ottieni il job_id del processo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.