On Tue, 28 Dec 2004 08:40:48 +0100, Robert Waldner writes:
>>>Hmm, can it be that killall5 doesn't actually manage to *not* kill
>>> itself?
>>Ofcourse it goes through great lengths to do exactly that - NOT
>>kill itself. It kills all processes _except_ itself and its
>>caller.
>Any hints on what it _could_ be, or on what I can do to further narrow
> down the problem?
Well, I expanded killall5.c with a couple printf's:
...
int main(int argc, char **argv)
{
...
signal(SIGTERM, SIG_IGN);
signal(SIGSTOP, SIG_IGN);
signal(SIGKILL, SIG_IGN);
/* Now stop all processes. */
// changes rw
printf("now doing kill(-1, SIGSTOP);\n");
kill(-1, SIGSTOP);
sent_sigstop = 1;
printf("done with kill(-1, SIGSTOP);\n");
...
and the last thing I see on the console is the first printf.
Screenshot (thanks to iLO) at
http://www.waldner.priv.at/temp/killall5.jpg
So to me it seems like "signal(SIGSTOP, SIG_IGN);" either isn't
honored, and killall5 itself killed, or else it kills something else
essential, but what could that be?