Kill pid


 
Thread Tools Search this Thread
Operating Systems AIX Kill pid
# 8  
Old 09-27-2015
Quote:
Originally Posted by dellanicholson
I created a program to kill long running pid processes.
In general this is a very bad idea. First, processes might be runningg for a long time because they need to run for such a long time. If you kill the db-writer process of a DB it will not help the DB any but most probably corrupt the it beyond repair. If you kill a a systems daemon you might halt the system but most probably achieve nothing productive.

As a rule of thumb: never let scripts kill processes they have not spawned themselves. A script may kill a process it has started before in the background, but any other process should only be killed interactively! The reason is that admins (in general) are a lot smarter than scripts and can analyse the situation before they kill something vital.

Quote:
Originally Posted by dellanicholson
Code:
kill -9 $RelatedEachPid

This is, for an already bad idea, an even worse realisation. With kill -9 you are killing a process from outside without any chance to clean up: temporary files, shared memory segments, semaphores and any other item a process can allocate will remain there instead of being cleaned up by the exiting process.

If you really need to stop a process try with kill -15first, then wait for some time. Signal 15 will tell a process to kill itself and well-written processes honour this signal, cleaning up whatever they have allocated. (Processes not doing so should be moved to /dev/null instead of being run, their programmers should be beaten with a UNIX manual.) Only then you might use kill -9, but NEVER from script and never routinely. This is the desperate measure of last resort and should be used that way.

Finally, your choice of shells:
Quote:
Originally Posted by dellanicholson
I am using bash
In AIX the default shell is ksh (in fact a ksh88). You can of course use any shell you want, but it is always a good idea to write scripts in a way so that they assume as little as possible. Don't make your scripts dependent on a non-standard shell without any necessity. Nothing in your script couldn't be written in ksh with the same ease as in bash.

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
# 9  
Old 10-02-2015
kill pid

Thanks Don,

I getting one error. I do not know how fix it. In the text file pid.txt column ppid there is a value of 1.

Here is my pid.txt contents
Code:
125895
345679
456789
1234567
1
1
1

Here is the error I am getting:

Code:
line  31 kill : 9 invalid signal specification

+ read RelatedEachPid
+'[' 1= Ppid ']'
+ echo 'kill 9 1'

How can this be fix, so that I do not get the above error messages?

Here is the code I used:
Code:
#!/bin/bash
PIDkill=0			# # of processes successfully killed.
PlogFile="/path/to/pidkill.txt	# File to receive log entries.
PpidFile="/path/to/pid.txt"	# File containing list of PIDs to kill.

# Verify that $PpidFile exists and is readable...
if [ ! -r "$PpidFile" ]
then	printf 'Cannot read file "%s"\n' "$PpidFile"
	exit 1
fi

# Process the PIDs in $PpidFile.
while read RelatedEachPid
do	# Check for the header line...
	if [ "$RelatedEachPid" = 'Ppid' ]
	then	# Header found, skip to next line from $PpidFile.
		continue
	fi

	# Kill the process.
	echo "kill -9 $RelatedEachPid"
	if kill -9 $RelatedEachPid
	then	# kill succeeded: note status and increment counter.
		echo "kill -9 $RelatedEachPid Success"
		PIDkill=$((PIDkill + 1))
	# Following two lines are commented out because the kill command will
	# print a diagnostic message if it fails; why produce two outputs?
	# else	# kill failed: note status.
	#	echo "kill -9 $RelatedEachPid Fail"
	fi
done < "$PpidFile"

# Log the results from this run.
echo "total of pids killed: $PIDkill - $(date)" >> "$PlogFile"

# 10  
Old 10-02-2015
Hi Della,

Filter out the PID "1", it's the "init process" you shouldn't be able to "kill" it. But on the off chance that you somehow manage it, I'll point out that you are unlikely to like the results.

Regards

Dave
# 11  
Old 10-02-2015
PID 1 is the init process, indispensable for the entire system to be up and running. I wouldn't kill that by no means if I were in your shoes...

The error message shown does not quite relate to the script - line 31 is way down below the kill command?

BTW - do you know the difference between PID and PPID? If your file really contains PPIDs (and the 1 in there seems to indicate such), I'd think twice before killing those.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Kill PID with one liner

Hello Friends, I've been trying to write a one line which checks java processes and filter them for a user (testuser) and then check process arguments with PARGS command and then check if there is certain patterns exists in pargs output then kill the process. I have tried the following so... (2 Replies)
Discussion started by: EAGL€
2 Replies

2. Shell Programming and Scripting

Kill a PID using script

Hi, I wrote a script to kill a process id. I am able to kill the PID only if I enter the root password in the middle of the execution because I did not run as root i.e after i run the script from the terminal, instead of killing directly, it is killing only after entering the pass when it... (12 Replies)
Discussion started by: rajkumarme_1
12 Replies

3. Shell Programming and Scripting

How to Kill process with dynamic PID?

Hello, I have problem with killing red5 process running on linux server. As this process is continuously changing its PID so it can't be killed with "kill -9 PID" command. First I used following command to list RED5 process ps aux | grep red5 which showed me root 5832 0.0 0.0 4820 756pts/0... (4 Replies)
Discussion started by: ninadgac
4 Replies

4. UNIX for Dummies Questions & Answers

How to Kill process with dynamic PID?

Hello, I have problem with killing red5 process running on linux server. As this process is continuously changing its PID so it can't be killed with "kill -9 PID" command. First I used following command to list RED5 process ps aux | grep red5 which showed me root 5832 0.0 0.0 4820 756pts/0... (1 Reply)
Discussion started by: ninadgac
1 Replies

5. AIX

kill -3 <PID> ... where the output file goes?

Hi all, I am generating the coredump of my JBoss, and by default it puts it in to a particular directory. i.e. JBOSS_HOME/. I would like this output file to be created, lets say in /tmp/dump/. I tried the following: kill -3 9404940>/tmp/dump/out.txt But it created... (3 Replies)
Discussion started by: haroon_a
3 Replies

6. Shell Programming and Scripting

When kill [pid] does not work...

Hi, On my Linux machine, using Bash, I sometimes run into a situation where doing the following does not seem to work at all. kermit@fastbox ~ $ ps -A | grep firefox-bin 5375 ? 00:06:57 firefox-bin <defunct> 5624 ? 00:00:00 firefox-bin kermit@fastbox ~ $ kill 5624... (7 Replies)
Discussion started by: kermit
7 Replies

7. UNIX for Advanced & Expert Users

KILL without PID

Hellow Experts i have one problem. i run one script in backgroun. and i want to kill that script with only script name..... so what's the solution.. for your info my script name is "testscript" n it contains "sleep 100" thanks.... (16 Replies)
Discussion started by: luckypower
16 Replies

8. Shell Programming and Scripting

KILL PID, intern should kill another PID.

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)
Discussion started by: rkrgarlapati
4 Replies

9. Shell Programming and Scripting

pass pid to kill using script

Hi there, i wonder if anyone can help is there any way that i can write a script that will kill all current ftp processes, for example if ps -ef | grep ftp produces 3 active proceses, then I would like to somehow extract the PID for each one and pass that to kill -9 has anybody done this... (2 Replies)
Discussion started by: hcclnoodles
2 Replies

10. UNIX for Dummies Questions & Answers

display went awkwards after issue kill pid

hi, i kill a process which is topas. then i do a fg of the process itself and got this Signal 15 received.finally, the display went as belows.... root@myhost:/]ksh: ^L^L^Lps: not found. root@myhost:/] PID TTY TIME CMD ... (4 Replies)
Discussion started by: yls177
4 Replies
Login or Register to Ask a Question