Você pode executar o script em segundo plano fazendo: (sudo -u webs ./spagent_L1 &)
, então você deve poder fechar o terminal (se estiver em DE) sem fechar esse script.
Eu tenho um script que precisa ser executado em segundo plano, se eu executar o mesmo script em primeiro plano, o script será executado corretamente e não parará até interrompermos manualmente (ctrl ^ c).
Tenho certeza de que o comando abaixo executa o script em segundo plano.
sudo -u webs ./spagent_L1 &
Quando o comando acima for executado, ele fornecerá o número do trabalho e o número do processo.
[1] 10118
E imediatamente depois disso, se eu pressionar enter duas vezes, o trabalho é interrompido.
[1]+ Stopped sudo -u webs ./spagent_L1
se eu verificar as tarefas em execução em segundo plano, isso mostra que o trabalho foi interrompido.
$> jobs
[1]+ Stopped sudo -u webs ./spagent_L1
Considerando que, se eu verificar o processo em execução, ele mostra como o script mencionado acima está em execução.
$> ps -eo user,ppid,pid,cmd,state | grep -i spagent
root 10118 9383 0 05:42 pts/1 00:00:00 sudo -u webs ./spagent_L1 T
ape 10122 3983 0 05:42 pts/1 00:00:00 grep -i spagent R
A menos que eu mate o processo 10118, o comando jobs mostra a saída que o processo está parado. Depois que o processo é eliminado, o comando jobs não retorna nada.
Então, a saída acima significa se o processo ainda está em execução? Alguém poderia me ajudar a entender o que está acontecendo lá em cima? e como executar o script em segundo plano sem parar.
Obrigado antecipadamente.
Você pode executar o script em segundo plano fazendo: (sudo -u webs ./spagent_L1 &)
, então você deve poder fechar o terminal (se estiver em DE) sem fechar esse script.
Tags ps background-process jobs