Как узнать, выполняется программа с nohup или нет?

нет никакой разницы в ps -ef | grep sleep вывод команды:

nohup sleep 60 &

sleep 60 &

каким образом я могу обнаружить, что программа запускается с nohup?

5
задан mvp
28.01.2023 3:19 Количество просмотров материала 3101
Распечатать страницу

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
    
5
отвечен mvp 2023-01-29 11:07

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх