I've got this process that is defunct. I ran kill 7690 as root and nothing happens. Tried kill -l 7690, nothing. Here's my line: tom-linux:/home/tom # ps aux | grep " Z " tom 7690 0.0 0.0 0 0 ? Z 08:59 0:00 [netstat] <defunct> root 7835 0.0 0.1 3544 572 pts/1 S 09:34 0:00 grep Z tom-linux:/home/tom # kill -l 7690 bash: kill: 7690: invalid signal specification I'm sure I'm doing something wrong. Thanks, Tom -- Tom Nielsen Neuro Logic Systems 805.389.5435 x18 www.neuro-logic.com
Tom Nielsen wrote:
I've got this process that is defunct. I ran kill 7690 as root and nothing happens. Tried kill -l 7690, nothing. Here's my line:
tom-linux:/home/tom # ps aux | grep " Z " tom 7690 0.0 0.0 0 0 ? Z 08:59 0:00 [netstat] <defunct> root 7835 0.0 0.1 3544 572 pts/1 S 09:34 0:00 grep Z tom-linux:/home/tom # kill -l 7690 bash: kill: 7690: invalid signal specification
I'm sure I'm doing something wrong.
# kill -9 pid is the hardest way. If that doesn't work you have to wait or reboot. -- Andreas
On Mon, 2003-09-22 at 09:44, Andreas Winkelmann wrote:
Tom Nielsen wrote:
I've got this process that is defunct. I ran kill 7690 as root and nothing happens. Tried kill -l 7690, nothing. Here's my line:
tom-linux:/home/tom # ps aux | grep " Z " tom 7690 0.0 0.0 0 0 ? Z 08:59 0:00 [netstat] <defunct> root 7835 0.0 0.1 3544 572 pts/1 S 09:34 0:00 grep Z tom-linux:/home/tom # kill -l 7690 bash: kill: 7690: invalid signal specification
I'm sure I'm doing something wrong.
# kill -9 pid
is the hardest way. If that doesn't work you have to wait or reboot.
-- Andreas
Looks like I'll have to reboot. -9 didn't help. Thanks though. -- Tom Nielsen Neuro Logic Systems 805.389.5435 x18 www.neuro-logic.com
On Mon, 2003-09-22 at 12:42, Tom Nielsen wrote:
I've got this process that is defunct. I ran kill 7690 as root and nothing happens. Tried kill -l 7690, nothing. Here's my line:
tom-linux:/home/tom # ps aux | grep " Z " tom 7690 0.0 0.0 0 0 ? Z 08:59 0:00 [netstat] <defunct> root 7835 0.0 0.1 3544 572 pts/1 S 09:34 0:00 grep Z tom-linux:/home/tom # kill -l 7690 bash: kill: 7690: invalid signal specification
I'm sure I'm doing something wrong.
Thanks, Tom
Tom, You are not doing anything wrong. This is a "defunct" process left over by a parent process that died before the child process (7835) could finish it's work. The only way to get rid of "defunct" processes is to reboot the PC. -- Ken Schneider unix user since 1989 linux user since 1994 SuSE user since 1998
You can't. It will remain until you reboot. They are essentially harmless until you've got thousands of them. It's just something you have to live with. John S. Tom Nielsen wrote:
I've got this process that is defunct. I ran kill 7690 as root and nothing happens. Tried kill -l 7690, nothing. Here's my line:
tom-linux:/home/tom # ps aux | grep " Z " tom 7690 0.0 0.0 0 0 ? Z 08:59 0:00 [netstat] <defunct> root 7835 0.0 0.1 3544 572 pts/1 S 09:34 0:00 grep Z tom-linux:/home/tom # kill -l 7690 bash: kill: 7690: invalid signal specification
I'm sure I'm doing something wrong.
Thanks, Tom
Alle 18:51, lunedì 22 settembre 2003, js ha scritto:
You can't. It will remain until you reboot. They are essentially harmless until you've got thousands of them. It's just something you have to live with.
John S.
Tom Nielsen wrote:
I've got this process that is defunct. I ran kill 7690 as root and nothing happens. Tried kill -l 7690, nothing. Here's my line:
tom-linux:/home/tom # ps aux | grep " Z " tom 7690 0.0 0.0 0 0 ? Z 08:59 0:00 [netstat] <defunct> root 7835 0.0 0.1 3544 572 pts/1 S 09:34 0:00 grep Z tom-linux:/home/tom # kill -l 7690 bash: kill: 7690: invalid signal specification
I'm sure I'm doing something wrong.
Thanks, Tom
Killing them does not lead to success. Kill their parent until init inherit them and they will go to the deserved rest. Praise
Alle 18:51, luned=EC 22 settembre 2003, js ha scritto:
You can't. It will remain until you reboot. They are essentially harmless until you've got thousands of them. It's just something you have to live with.
John S.
Tom Nielsen wrote:
I've got this process that is defunct. I ran kill 7690 as root and nothing happens. Tried kill -l 7690, nothing. Here's my line:
tom-linux:/home/tom # ps aux | grep " Z " tom 7690 0.0 0.0 0 0 ? Z 08:59 0:00 [netstat] <defunct> root 7835 0.0 0.1 3544 572 pts/1 S 09:34 0:00 grep Z tom-linux:/home/tom # kill -l 7690 bash: kill: 7690: invalid signal specification
I'm sure I'm doing something wrong.
Thanks, Tom
Killing them does not lead to success. Kill their parent until init inherit= =20 them and they will go to the deserved rest.
Praise
Just don't kill the parent if the parent is INIT. That would be bad. :-)
Hi guys. I had to reboot and that took care of the problem....for now. Tom On Mon, 2003-09-22 at 15:16, Jim Norton wrote:
Alle 18:51, luned=EC 22 settembre 2003, js ha scritto:
You can't. It will remain until you reboot. They are essentially harmless until you've got thousands of them. It's just something you have to live with.
John S.
Tom Nielsen wrote:
I've got this process that is defunct. I ran kill 7690 as root and nothing happens. Tried kill -l 7690, nothing. Here's my line:
tom-linux:/home/tom # ps aux | grep " Z " tom 7690 0.0 0.0 0 0 ? Z 08:59 0:00 [netstat] <defunct> root 7835 0.0 0.1 3544 572 pts/1 S 09:34 0:00 grep Z tom-linux:/home/tom # kill -l 7690 bash: kill: 7690: invalid signal specification
I'm sure I'm doing something wrong.
Thanks, Tom
Killing them does not lead to success. Kill their parent until init inherit= =20 them and they will go to the deserved rest.
Praise
Just don't kill the parent if the parent is INIT. That would be bad. :-)
-- Tom Nielsen Neuro Logic Systems 805.389.5435 x18 www.neuro-logic.com
* Jim Norton <jrn@oregonhanggliding.com> [Sep 23. 2003 00:16]:
Just don't kill the parent if the parent is INIT. That would be bad. :-)
... and fortunately it's not possible to kill init :) -- Mads Martin Joergensen, http://mmj.dk "Why make things difficult, when it is possible to make them cryptic and totally illogical, with just a little bit more effort?" -- A. P. J.
* Jim Norton <jrn@oregonhanggliding.com> [Sep 23. 2003 00:16]:
Just don't kill the parent if the parent is INIT. That would be bad. :-)
... and fortunately it's not possible to kill init :)
So the kernel doesn't allow INIT to be killed by anything not of it's doing to prevent the system from being stopped if INIT was killed? Does the kernel ever kill init itself ( for a reboot for example )? Or does it just enter a runlevel and sit and wait for the PC to reboot etc? -Jim-
* Jim Norton <jrn@oregonhanggliding.com> [Sep 23. 2003 01:54]:
Just don't kill the parent if the parent is INIT. That would be bad. :-)
... and fortunately it's not possible to kill init :)
So the kernel doesn't allow INIT to be killed by anything not of it's doing to prevent the system from being stopped if INIT was killed?
Well, the kill(2) syscall is just a program to send a signal to a process. So it's up to the program to implement proper signal handling. In the case of process 1 (init), there's the following note in kill(2): "It is impossible to send a signal to task number one, the init process, for which it has not installed a signal handler. This is done to assure the system is not brought down accidentally."
Does the kernel ever kill init itself ( for a reboot for example )? Or does it just enter a runlevel and sit and wait for the PC to reboot etc?
Well, what do you mean "if the kernel kills init"? At some point init tell the kernel it wants to reboot/shutdown, simply by doing all the preparation (nice shutdown of all processes etc.) and then when time permits, calls reboot(); It's good reading to take a stroll through the source-code for init and friends, if one wants to get acquainted with this stuff. -- Mads Martin Joergensen, http://mmj.dk "Why make things difficult, when it is possible to make them cryptic and totally illogical, with just a little bit more effort?" -- A. P. J.
Hi, It works killall -1 init restarts the init process (for example the inittab file is re-read). (HUP) signal works, so "for which it has not installed a signal handler" is not true. Regards, Alin. Mads Martin Joergensen wrote:
* Jim Norton <jrn@oregonhanggliding.com> [Sep 23. 2003 01:54]:
Just don't kill the parent if the parent is INIT. That would be bad. :-)
... and fortunately it's not possible to kill init :)
So the kernel doesn't allow INIT to be killed by anything not of it's doing to prevent the system from being stopped if INIT was killed?
Well, the kill(2) syscall is just a program to send a signal to a process. So it's up to the program to implement proper signal handling. In the case of process 1 (init), there's the following note in kill(2):
"It is impossible to send a signal to task number one, the init process, for which it has not installed a signal handler. This is done to assure the system is not brought down accidentally."
Does the kernel ever kill init itself ( for a reboot for example )? Or does it just enter a runlevel and sit and wait for the PC to reboot etc?
Well, what do you mean "if the kernel kills init"? At some point init tell the kernel it wants to reboot/shutdown, simply by doing all the preparation (nice shutdown of all processes etc.) and then when time permits, calls reboot();
It's good reading to take a stroll through the source-code for init and friends, if one wants to get acquainted with this stuff.
-- Alin DOBRE Technical Support Engineer - RAV Division mailto:alin.dobre@ravantivirus.com http://www.ravantivirus.com --------------------------- This message is confidential. It may also be privileged or otherwise protected by work product immunity or other legal rules. If you have received it by mistake please let us know by reply and then delete it from your system; you should not copy the message or disclose its contents to anyone.
* Alin Dobre <alin.dobre@ravantivirus.com> [Sep 23. 2003 08:23]:
Hi,
It works killall -1 init restarts the init process (for example the inittab file is re-read). (HUP) signal works, so "for which it has not installed a signal handler" is not true.
There's a signal handler for signal 1, which is HUP, yes. There's even for more, if you look in the init source code: /* * We got a signal (HUP PWR WINCH ALRM INT) */ static void signal_handler(int sig) { ADDSET(got_signals, sig); } What I quoted from the manual page was this: "It is impossible to send a signal to task number one, the init process, for which it has not installed a signal han dler. This is done to assure the system is not brought down accidentally." If you application does not install a signalhandler for SIGKILL, that does not mean your application is not killed, if we send kill -9 to it. In the case of init, nothing happens. -- Mads Martin Joergensen, http://mmj.dk "Why make things difficult, when it is possible to make them cryptic and totally illogical, with just a little bit more effort?" -- A. P. J.
participants (8)
-
Alin Dobre
-
Andreas Winkelmann
-
jrn@oregonhanggliding.com
-
js
-
Ken Schneider
-
Mads Martin Joergensen
-
praisetazio
-
Tom Nielsen