Sponsored Content
Full Discussion: Kill pid
Operating Systems AIX Kill pid Post 302956120 by Don Cragun on Saturday 26th of September 2015 05:23:03 PM
Old 09-26-2015
Quote:
Originally Posted by dellanicholson
I created a program to kill long running pid processes.

I am getting the following error message:

Code:
-f command cannot be found.

I also want to count the number of pids that are killed and append the results to a text file. I am new to shell script programming.

1.The first part of code is exporting a text file column containing ppids.

pid.txt contents are as follows:

Code:
Ppid
5569000
6789034
4567890
1234567
5678908
3457892

2. The second part of the code changes permission on the PpidFile

3. The third part of the code loops through the column in the text
file and kill each Ppid.

4. finally a line of text is appended to a text file. The text contains the total number of pids killed and the date.


Here is my code:
Code:
export PpidFile="/path/to/pids.txt"
if [[ -f "$PpidFile" ]]
then
	/bin/chmod 755 $PpidFile
	Ret=$?
	if [ 0 -eq $Ret ]
	then
		for RelatedEachPid in `/bin/grep -v "Ppid" $PpidFile | /usr/bin/tr "\n" " "`
		do
			/bin/echo "kill -9 $RelatedEachPid"
			/bin/kill -9 $RelatedEachPid
			Ret=$?
			if [ 0 -ne $Ret ]
			then
				/bin/echo "kill -9 $RelatedEachPid Fail"
			else
				/bin/echo "kill -9 $RelatedEachPid 
PIDkill"
			fi

echo "total of pids killed: wc-l $PIDkill -  $date" >> pidkill.txt

Moderator's Comments:
Mod Comment PLEASE use CODE tags for sample input and output as well as for code segments (as you have been asked to do before).
What shell are you using?

There is no reason to export a variable that you are not passing to another shell execution environment.

There is no reason to make a file that does not contain any executable text executable. Consider changing:
Code:
if [[ -f "$PpidFile" ]]
then
	/bin/chmod 755 $PpidFile
	Ret=$?
	if [ 0 -eq $Ret ]
	then	...

to something more like:
Code:
if [ -r "$PpidFile" ]
then	...

There is no need for the tr command in your command substitution. And a:
Code:
while read RelatedEachPid
do	if [ "$RelatedEachPid" = "Ppid" ]
	then	continue
	fi
	...
done < "$PpidFile"

would be much more efficient than:
Code:
for RelatedEachPid in `/bin/grep -v "Ppid" $PpidFile | /usr/bin/tr "\n" " "`
do	...
done

There is no done terminating your for loop.

There is no fi terminating your 1st two if statements.

There is nothing that sets the variables PIDkill and date before they are used.

It looks like you might be trying to count the lines in the file named by the variable PIDkill with the command:
Code:
echo "total of pids killed: wc-l $PIDkill -  $date"

but printing the string wc-l - won't do that. If you had set PIDkill to the pathname of a file, then something more like:
Code:
echo "total of pids killed: $(wc -l $PIDkill) -  $date"

might come closer to doing what you seem to be trying to do.

Last edited by Don Cragun; 09-26-2015 at 08:19 PM.. Reason: Drop extraneous closing ICODE tags.
This User Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. 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

2. 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

3. 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

4. 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

5. 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

6. 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

7. 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

8. 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

9. 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

10. 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
All times are GMT -4. The time now is 02:52 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy