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?
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.
You have to make the sub processes daemonic in order to have them killed when the father is killed (or dies), otherwise they are adopted by init(1).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With