determine qual serviço está executando um script

2

Eu compartilho um servidor dev com alguns colegas, é um servidor Ubuntu e nós temos vários scripts lá, então, basicamente, a maneira usual como executamos um processo é usar uma screen session. Meu problema é que, quando eu faço ps aux| grep python , vejo um processo em execução:

root     x  x  x x x x  Ss   Apr12  29:58 /usr/bin/python /home/script.py

este script não está sendo executado em uma sessão de tela e é iniciado automaticamente quando inativo, portanto, preciso saber qual serviço está iniciando / reiniciando esse processo. Qualquer ajuda é apreciada.

    
por PepperoniPizza 24.04.2014 / 17:07

1 resposta

5

Você pode usar o pstree para obter uma visão em árvore de todo o processo junto com seus pais. No exemplo a seguir, recebo o processo pai do pulseaudio, que possui o PID de 1913:

$ pstree -sU 1913   
systemd───pulseaudio─┬─{alsa-sink-ALC88}
                     └─{alsa-source-ALC}

No seu caso eu usaria o pgrep plus pstree, assim:

pstree -sU $(pgrep /home/script.py)

Observe que, se o pai do script foi morto, é altamente provável que seu pai seja init. Nesse caso, você precisará de uma maneira mais agressiva de obter o processo pai.

    
por 24.04.2014 / 17:24

Tags