On Thu, Jul 22, 1999 at 09:49:20PM +0100, John J. Allen wrote:
> Klaus Knopper wrote:
> 
> > Hello,
> >
> > In /etc/rc.d/init.d/halt:
> >
> > runcmd "Sending all processes the TERM signal..." kill -15 -1
> > sleep 5
> > runcmd "Sending all processes the KILL signal.."  kill -9 -1
> >
> > For obvious reasons, it should instead be:
> >
> > runcmd "Sending all processes the TERM signal..." /sbin/killall5 -15
> > sleep 5
> > runcmd "Sending all processes the KILL signal.."  /sbin/killall5 -9
> >
> 
> No, the script is correct as written, the -1 causes all processes from MAX_INT to 2 
>to be killed.

Yes, it kills everything. Including the shell script (which might trap the
signal) and processes spawned by init. Therefore you get messages like
"INIT: No processes left in this runlevel". This is NOT correct.

From the manpage of killall5:
       killall5 is the SystemV killall command. It sends a signal
       to all processes except the processes in its own  session,
       so  it  won't kill the shell that is running the script it
       was called from. Its primary  (only)  use  is  in the  rc
       scripts found in the /etc/init.d directory.

This is the way it is supposed to be, and common in other unices.

Regards
        -Klaus Knopper  mailto:[EMAIL PROTECTED]
                        http://home.pages.de/~knopper
        "Disk Space... The final frontier!"

PGP signature

Reply via email to