[comp.sys.hp] BUG

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.