Sponsored Content
Operating Systems Linux Red Hat How to get rid of zombie process? Post 302817163 by jim mcnamara on Wednesday 5th of June 2013 10:09:27 AM
Old 06-05-2013
You cannot get rid of a zombie with kill and a termination signal. It is already dead, to keep the metaphor going.

Zombies are un-waited for child processes.

Instead find the parent of the process, and issue
Code:
kill -SIGCHLD [parent_pid]

This is not necessarily safe nor will it always work, if you want the parent to keep on running. The parent process signal mask could be set to terminate on SIGCHLD or do nothing. The default action for SIGCHLD is ign. The next step is to
Code:
kill -SIGTERM [parent_pid]

if the parent can be killed off.

Zombies are the result of poor coding practices.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Zombie process

How do i kill a zombie process. Is it that only root can kill a zombie process. (8 Replies)
Discussion started by: orca
8 Replies

2. UNIX for Advanced & Expert Users

Zombie process

I would like to create a zombie process so that I can test monitoring software functionality. Any techniques? (2 Replies)
Discussion started by: swhitney
2 Replies

3. Programming

how to handle a zombie process

hi! i am writing a c program which has the following structure: main() { child1 child1.1 child2 child2.1 } the child1.1 and 2.1 are becoming zombies... how can i handle this... thanx (1 Reply)
Discussion started by: mridula
1 Replies

4. Linux

zombie process

Hi What is the command to find only the zombie processes?? How to write the code in C to fetch the no. of zombie processes?? Thanx (5 Replies)
Discussion started by: jeenat
5 Replies

5. Linux

How to kill zombie process

I have RHES4 machine with VRTSralus - Backup Exec agent installed there and running as a service. The agent hiccups sometimes and turns into defunct state. The problem is that I cannot kill it anyway., it stays there forever until the machine is rebooted. I wonder if anyone had such an experience... (1 Reply)
Discussion started by: will_mike
1 Replies

6. Shell Programming and Scripting

Zombie process

Hi I need help because I don't know if it is possible to add a find inside a cat. like I have a file with the pid of the process that use to became zombie. And I have the same pid stored in the var (pid1) now, I have no clue how to check if the the find finds the pid or even if it's... (2 Replies)
Discussion started by: ruben.rodrigues
2 Replies

7. Solaris

zombie process

dear friends, in an interview they asked me what is zombie process. how we can identifying these process.if can you kill all zombie process. (8 Replies)
Discussion started by: sijocg
8 Replies

8. AIX

zombie process

Is there an equivilant to the preap command in AIX that would allow me to get rid of a zombie process. I am new to AIX, moving over from Solaris and in the past I have been able to preap the pid on the defunct process to clean them up. I have looked around and the best I can see is that it may... (3 Replies)
Discussion started by: sboots
3 Replies

9. Solaris

How to Kill Zombie Process

Dear Bos, I have one server,everday if I check with command TOP always present zombie,like below: last pid: 4578; load averages: 0.15, 0.11, 0.13 07:56:15 298 processes: 295 sleeping, 1... (10 Replies)
Discussion started by: fredginting
10 Replies

10. UNIX for Advanced & Expert Users

Zombie process

What is the overhead associated with zombie process?Is it running out of process-ID?:confused: Since some information is stored in process table.. Thanks in Advance (4 Replies)
Discussion started by: jois
4 Replies
KILL(1) 						    BSD General Commands Manual 						   KILL(1)

NAME
kill -- terminate or signal a process SYNOPSIS
kill [-s signal_name] pid ... kill -l [exit_status] kill -signal_name pid ... kill -signal_number pid ... DESCRIPTION
The kill utility sends a signal to the process(es) specified by the pid operand(s). Only the super-user may send signals to other users' processes. The options are as follows: -s signal_name A symbolic signal name specifying the signal to be sent instead of the default TERM. -l [exit_status] Display the name of the signal corresponding to exit_status. exit_status may be the exit status of a command killed by a signal (see the special sh(1) parameter '?') or a signal number. If no operand is given, display the names of all the signals. -signal_name A symbolic signal name specifying the signal to be sent instead of the default TERM. -signal_number A non-negative decimal integer, specifying the signal to be sent instead of the default TERM. The following pids have special meanings: -1 If superuser, broadcast the signal to all processes; otherwise broadcast to all processes belonging to the user. 0 Broadcast the signal to all processes in the current process group belonging to the user. Some of the more commonly used signals: 1 HUP (hang up) 2 INT (interrupt) 3 QUIT (quit) 6 ABRT (abort) 9 KILL (non-catchable, non-ignorable kill) 14 ALRM (alarm clock) 15 TERM (software termination signal) kill is a built-in to csh(1); it allows job specifiers of the form ``%...'' as arguments so process id's are not as often used as kill argu- ments. See csh(1) for details. SEE ALSO
csh(1), pgrep(1), pkill(1), ps(1), kill(2), sigaction(2), signal(7) STANDARDS
The kill function is expected to be IEEE Std 1003.2 (``POSIX.2'') compatible. HISTORY
A kill command appeared in Version 6 AT&T UNIX. BSD
April 28, 1995 BSD
All times are GMT -4. The time now is 10:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy