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