Usando pstree
pelo nome do comando
Usando pstree
, você pode pesquisar pelo nome do processo filho e obter o ID do processo (PID) junto com os pais, avós e qualquer filho do processo filho:
$ pstree -hp | grep sleep
|-cron(763)---cron(795)---sh(839)---display-auto-br(841)---sleep(8414)
Nesse caso, sleep
é o comando filho e seu PID é 8414
. Seu ID pai é 841 e é chamado de display-auto-brightness
. O avô é um shell ( sh
) com um ID de processo de 839
. O bisavô é cron
com um ID de processo de 795
. O tataravô também é cron
com um ID de processo de 763
.
Se você quiser pesquisar por ID de processo de sleep
em vez de nome, use:
$ pstree -hp | grep 14653
|-cron(763)---cron(795)---sh(839)---display-auto-br(841)---sleep(14653)
Observe que o ID% do processo sleep
foi alterado para 14653
. O pai (PID 841) dorme por 1 minuto, acorda por uma fração de segundo e, em seguida, inicia um novo comando sleep
, que recebe um novo ID de processo. Esse é outro motivo pelo qual pesquisar por sleep
é mais fácil do que pesquisar por ID de processo.
Este código foi retirado de: Ajustar automaticamente o brilho da tela com base no nascer e pôr do sol e adaptado a essa pergunta.
Para ver uma cadeia aninhada por todo o processo de inicialização, use o PID em vez do nome:
$ pstree -aps 8541
systemd,1 splash fastboot kaslr
└─cron,763 -f
└─cron,795 -f
└─sh,839 -c /usr/local/bin/display-auto-brightness
└─display-auto-br,841 /usr/local/bin/display-auto-brightness
└─sleep,8541 60
Observação: Mais um minuto se passou e o comando sleep recebe um novo PID (8541).