My previous understanding was that I could execute the subject command and the command would close the shell and kill all processes associated with the shell, but from my readings on this forum and reading a liitle more in some other books, I've come to find that although one may kill the shell, the processes that were opened as another user within the shell will continue to run as zombies or defunct processes.
They're not running, they're dead. They're just stuck in the process table because their parent processes, the things that need to deal with them, have been killed too. That's why some signals are catchable, and why -KILL should be used only as a last resort; things like shells will catch SIGTERM and gracefully deal with terminating their child processes before exiting, while SIGKILL kills them and leaves their zombie children hanging. Now there's a mental image.
There are two things you can do, from what I know.
Disown these processes from your shell so that init is able to deal with them
Give your processes SIGTERM first, wait a bit, then give SIGKILL to processes that won't die
The latter is probably a more elegant way to do it, and the procedure I see linux do when shutting down... You don't want to use -KILL unless you absolutely need it, 'cause it can make a big mess.
Last edited by Corona688; 09-20-2005 at 03:18 PM..
Hi All,
I am unable to kill a process using kill command. I am using HP-UX system. I have tried with kill -9 and i have root privilages.
How can i terminate this daemon ? ? ?
Regards,
Vijay Hegde (3 Replies)
Hi All,
In my project i have two process runs in the back end.
Once i start my project, and execute the command ps, i get below output:
PID TTY TIME CMD
9086 pts/1 0:00 ksh
9241 pts/1 0:02 java
9240 pts/1 0:00 shell_script_bg
java with 9241 PID is the main... (4 Replies)
Hello everyone
I am using HP Ux and had run a find command. Now I am trying to kill it with kill or kill -9 but it is not getting killed and still running. Any clues ?
Thanks
Sidhu (5 Replies)
Hi all
i have simple c program , when i wish to kill the app
im using kill(0,-9) , but it seams this command don't do any thing and the program.
just ignore it .
what im doing wrong here ?
im using HP-UX ia64
Thanks (9 Replies)
I want to Kill a process without using kill command as i don't have privileges to kill the process. I know the pid and i am using Linux 2.6.9 OS. (6 Replies)
Hello everyone,
I have a process that I want to kill. I have tried kill-9 PID but it doesn't work. I have tried preap PID but it doesn't work too.
The parent of my process is the process whose PID is 1, so I can't kill it.
My OS is a Solaris 9.
Can anyone help me understand what's going... (3 Replies)
Good afternoon
I need to KILL a process in a single command sentence, for example:
kill -9 `ps -aef | grep 'CAL255.4ge' | grep -v grep | awk '{print $2}'`
That sentence Kills the process ID corresponding to the program CAL255.4ge.
However it is possible that the same program... (6 Replies)
Discussion started by: enriquegm82
6 Replies
LEARN ABOUT LINUX
kill
KILL(1) Linux User's Manual KILL(1)NAME
kill - send a signal to a process
SYNOPSIS
kill [ -signal | -s signal ] pid ...
kill [ -L | -V, --version ]
kill -l [ signal ]
DESCRIPTION
The default signal for kill is TERM. Use -l or -L to list available signals. Particularly useful signals include HUP, INT, KILL, STOP,
CONT, and 0. Alternate signals may be specified in three ways: -9 -SIGKILL -KILL. Negative PID values may be used to choose whole process
groups; see the PGID column in ps command output. A PID of -1 is special; it indicates all processes except the kill process itself and
init.
SIGNALS
The signals listed below may be available for use with kill. When known constant, numbers and default behavior are shown.
Name Num Action Description
0 0 n/a exit code indicates if a signal may be sent
ALRM 14 exit
HUP 1 exit
INT 2 exit
KILL 9 exit cannot be blocked
PIPE 13 exit
POLL exit
PROF exit
TERM 15 exit
USR1 exit
USR2 exit
VTALRM exit
STKFLT exit might not be implemented
PWR ignore might exit on some systems
WINCH ignore
CHLD ignore
URG ignore
TSTP stop might interact with the shell
TTIN stop might interact with the shell
TTOU stop might interact with the shell
STOP stop cannot be blocked
CONT restart continue if stopped, otherwise ignore
ABRT 6 core
FPE 8 core
ILL 4 core
QUIT 3 core
SEGV 11 core
TRAP 5 core
SYS core might not be implemented
EMT core might not be implemented
BUS core core dump might fail
XCPU core core dump might fail
XFSZ core core dump might fail
NOTES
Your shell (command line interpreter) may have a built-in kill command. You may need to run the command described here as /bin/kill to
solve the conflict.
EXAMPLES
kill -9 -1
Kill all processes you can kill.
kill -l 11
Translate number 11 into a signal name.
kill -L
List the available signal choices in a nice table.
kill 123 543 2341 3453
Send the default signal, SIGTERM, to all those processes.
SEE ALSO pkill(1), skill(1), kill(2), renice(1), nice(1), signal(7), killall(1).
STANDARDS
This command meets appropriate standards. The -L flag is Linux-specific.
AUTHOR
Albert Cahalan <albert@users.sf.net> wrote kill in 1999 to replace a bsdutils one that was not standards compliant. The util-linux one
might also work correctly.
Please send bug reports to <procps-feedback@lists.sf.net>
Linux November 21, 1999 KILL(1)