Processos em segundo plano

0

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.

    
por sabarish jackson 26.07.2017 / 08:14

1 resposta

0

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.

    
por 26.07.2017 / 15:46