When a parent process is killed by "kill -9", will subprocess also be killed?

ablmf picture ablmf · Sep 29, 2009 · Viewed 20.2k times · Source

One of my colleague told me this morning, when he killed supervisord by "kill -9", the subprocesses of supervisord is not killed.

He is quite sure about that, but I tried many times and did not find that happen.

So when a parent process is killed by "kill -9", will linux ensure that it's sub-processes also been killed?

Answer

caf picture caf · Sep 29, 2009

No, child processes are not necessarily killed when the parent is killed.

However, if the child has a pipe open which it is writing to and the parent is reading from, it will get a SIGPIPE when it next tries to write to the pipe, for which the default action is to kill it. That is often what happens in practice.