O id do processo descarta quando o ssh se conecta novamente

0

Eu tenho um VPS DigitalOcean e um Ubuntu Droplet . Para executar um plano de fundo da tarefa, eu uso o comando nohup .

 # nohup python patrol.py &

Tudo funciona bem, mas quando eu fecho a conexão ssh e conecto novamente, eu acho que o id do processo não existe. A tarefa python envia uma requisição para uma API a cada 20 minutos. Do console do servidor api, eu acho o processo ainda funciona. No entanto, a partir do comando ps , não consigo encontrar o ID do processo

    
por Jianxin Li 21.12.2017 / 15:47

1 resposta

1
Por padrão,

ps mostra apenas os processos em execução no mesmo terminal, portanto, um processo que foi enviado para o segundo plano após a conexão SSH ter sido interrompida não será exibido.

Como diz o manual, use ps -ef ou um desses ( página de manual ):

To see every process on the system using standard syntax:

ps -e
ps -ef                            
ps -eF
ps -ely

To see every process on the system using BSD syntax:

ps ax
ps axu

Apesar de tudo, se você quiser executar algo a cada 20 minutos, executá-lo em cron evita que você reinicie o processo se o sistema for reinicializado e também executará as tarefas futuras, mesmo que uma execução anterior tenha sido interrompida alguma razão.

    
por 21.12.2017 / 16:26