I am attempting to "pause" a running java process. So I went ahead and ran the recommended:

 sudo kill -SIGSTOP <pid_of_java_proc>

however, if I run strace on it:

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

I see things like:

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

From which I presume that there are actually child processes that are somehow still "not frozen" with the initial.

Am I missing something? Is there an easy way to stop the parent PID "and all of its children"? I can't seem to get the (someotherpid, yetotherpid)'s to show up in a ps report to enumerate them all.

1 Answer 1


Have you tried:

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


This will stop the current process, then use ps to find all direct children, and stop those as well. Possible reasons it might not work include that the children are nested (that is, the children have children), or if the children actually belong to some global parent (for example the init system).

  • I think it should be better to also explain, what this command does.
    – peterh
    Dec 9, 2017 at 1:19

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .