Как узнать, работает программа с nohup или нет?
Там нет разницы в ps -ef | grep sleep
вывод в команды:
nohup sleep 60 &
sleep 60 &
Каким образом я могу обнаружить, что программа запускается с nohup
?
1 ответ
Решение
Вам нужно знать PID процесса, который вы хотите посмотреть. Ты можешь использовать
pgrep
или жеjobs -l
:jobs -l [1]- 3730 Running sleep 1000 & [2]+ 3734 Running nohup sleep 1000 &
На самом деле, это может уже сказать вам ответ, если вы не вышли из системы и не вошли снова (затем
jobs -l
ничего не покажу).Взгляни на
/proc/<pid>/fd
, Процессы начались сnohup
будет списокnohup.out
файлы:mvp@linux:~$ ls -l /proc/3734/fd total 0 l-wx------ 1 mvp mvp 64 Oct 29 02:32 0 -> /dev/null l-wx------ 1 mvp mvp 64 Oct 29 02:32 1 -> /home/mvp/nohup.out l-wx------ 1 mvp mvp 64 Oct 29 02:32 2 -> /home/mvp/nohup.out
и началось без
nohup
не буду:mvp@linux:~$ ls -l /proc/3730/fd total 0 lrwx------ 1 mvp mvp 64 Oct 29 02:28 0 -> /dev/pts/1 lrwx------ 1 mvp mvp 64 Oct 29 02:28 1 -> /dev/pts/1 lrwx------ 1 mvp mvp 64 Oct 29 02:28 2 -> /dev/pts/1