Como descobrir é um programa executado com nohup ou não?

3

Não há diferença na ps -ef | grep sleep output para os comandos:

nohup sleep 60 &

sleep 60 &

De que forma posso descobrir que o programa é executado com nohup ?

    
por TheSAS 29.10.2013 / 10:25

1 resposta

5
  • Você precisa conhecer o pid do processo que deseja analisar. Você pode usar pgrep ou jobs -l :

    jobs -l
    [1]-  3730 Running    sleep 1000 &
    [2]+  3734 Running    nohup sleep 1000 &
    

    Na verdade, isso já pode lhe dar a resposta, a menos que você tenha efetuado logout e logado novamente (então jobs -l não mostrará nada).

  • Dê uma olhada em /proc/<pid>/fd . Processos iniciados com nohup listarão nohup.out arquivos:

    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
    

    e iniciado sem nohup não:

    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
    
por 29.10.2013 / 10:34