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.