Como pausar o processo com vários pid's filhos (java)

1

Estou tentando "pausar" um processo java em execução. Então fui em frente e executei o recomendado:

 sudo kill -SIGSTOP <pid_of_java_proc>

no entanto, se eu executar o strace nele:

 sudo strace -F -p <pid_of_java_proc> 2>&1

Eu vejo coisas como:

[pid <someotherpid>] sendto(34, "a string...
[pid <yetotherpid>] sendto(34, "different string...

Do qual presumo que existam processos child que ainda estão "congelados" com a inicial.

Estou faltando alguma coisa? Existe uma maneira fácil de parar o pai PID "e todos os seus filhos"? Eu não consigo fazer o (someotherpid, yetotherpid) aparecer em um relatório ps para enumerar todos eles.

    
por rogerdpack 08.12.2017 / 21:36

1 resposta

1

Você já tentou:

sudo kill -SIGSTOP $PID 'ps -o pid= --ppid $PID'

?

Isso interromperá o processo atual e, em seguida, usará o ps para localizar todos os filhos diretos e pará-los também. Possíveis razões que podem não funcionar incluem que os filhos estão aninhados (ou seja, os filhos têm filhos) ou se os filhos realmente pertencem a algum pai global (por exemplo, o sistema init).

    
por 09.12.2017 / 01:49