No seu script:
nohup command > logfile.txt &
echo $! > /var/run/command.pid
Eu tenho um comando (programa) que gostaria de executar com nohup e fazer o plano de fundo. Como
nohup command > logfile.txt &
Como descubro o ID do processo? Eu gostaria de poder escrever o id do processo em um arquivo, ler mais tarde e matar o processo programaticamente.
Você pode usar $!
. Referenciado na documentação do bash .
Você pode usar ps
e grep
para encontrar o processo na lista de processos e, em seguida, awk
para analisar a saída e encontrar o PID real:
ps -ef | grep -v grep | grep YOUR_PROCESS_NAME | awk '{ print $2 }'
Você pode tentar:
ps aux | grep -v grep | grep nome do programa
Isso irá verificar os processos em execução, grep para o nome do programa, mas excluir o próprio grep.