ps -e | grep python até que algum processo python seja executado no sistema

1

Eu quero ver se algum processo python está sendo executado. Eu configurei um script python que atualiza o noip, e um cron o executa a cada 1 minuto, mas leva apenas 2 segundos para ser executado e finalizado, então eu gostaria de saber se há uma maneira de fazer ps -e | grep python e aguarde até que algum processo python apareça na tela

    
por Guerlando OCs 03.01.2017 / 00:31

1 resposta

0

Se o seu objetivo é simplesmente observar se o processo aparece, você pode fazer isso:

watch -n1  "ps -ef | grep command | grep -v grep"

Pessoalmente, eu freqüentemente uso a técnica de pesquisa com pgrep e while loop da seguinte forma:

while ! pgrep -f command ; do true; done && echo "Process started"

Esta é uma boa abordagem se você deseja executar um comando adicional se um processo aparecer ou desaparecer.

Execução de teste:

Amaneiracomoissofuncionaémuitosimples:

  • oloopexecutapgrep-fcommandemcadaiteraçãoenegaseustatusdesaída.Assim,seoprocessonãoforencontrado,ostatusdesaídade1seránegadopara0,mantendo,assim,oloopemexecução.
  • Quandooprocessoaparecer,ostatusdesaídasetornará0,seránegadopara1,fazendocomqueolooptermineeexibaamensagemcomecho

Estaéumaabordagembastanteuniversal,funcionacomqualquershellelinguagemdescript.Porexemplo,euuseiissoemumscriptpythonquedetectaamudançaipe

com / a / 850804/295286 "> script para executar comandos quando o processo aparecer

    
por Sergiy Kolodyazhnyy 03.01.2017 / 01:35