fraserf@bnr.ca (Fraser Fulford) (06/05/91)
This is on an HP (HP-UX 6.5) Why does the C Shell ignore SIGTERM? Why does the C Shell not propogate most signals? I tested this and only a few signals are propogated by the C Shell to it's children. They are SIGUSR1, SIGUSR2, SIGLOST, but who knows what an application running in the C Shell will do when it gets one of these? Here is my test case: csh # start a C Shell echo $$ # get pid of csh tail -f .cshrc # start doing something (prime example here) From another window kill <pid of csh obtained above> # SIGTERM - ignored by csh kill -1 <pid> # SIGHUP - csh dies, SIGHUP not propogated so tail lives on OR kill -16 <pid> # SIGUSR1 - csh dies, SIGUSR1 propogated but tail ignores it. As you can see, there is no (apparent) way to kill the csh and get it to kill everything it started. By the way, I do not have 'nohup' turned on. QUESTION: Is it possible to set some magical variable/switch that gets the C Shell to die on SIGTERM and to propogate the SIGTERM signal to all of it's children? (as it should?) -- ....fraser fraserf@bnr.ca A mind is a terrible thing to waste - so is money.