Why doesn't my process get SIGHUP when its parent dies?


Because it's not supposed to.



SIGHUP is a signal that means, by convention, "the terminal line
got hung up". It has nothing to do with parent processes, and is
usually generated by the tty driver (and delivered to the foreground
process group).



However, as part of the session management system, there are exactly two
cases where SIGHUP is sent on the death of a process:







[an error occurred while processing this directive]