Kill a PID using script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Kill a PID using script
# 1  
Old 11-03-2011
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 prompts.

Can you help me out in addressing this issue?

Thanks in advance
# 2  
Old 11-03-2011
Well, show the code snippet where you are killing the PID. If you are not the owner, normally it should say "Permission denied". I suppose you are using sudo or something?

You can kill a process only if you have started it. Only root can kill any process. You can have a look into sudoers if you need root privileges for killing any process.

--ahamed
This User Gave Thanks to ahamed101 For This Post:
# 3  
Old 11-05-2011
Hi Ahamed,

Below is the code snippet of the script that I am working on:

Code:
sudo su -
ps -ef | grep -i skype > tmp
cat tmp | grep -v grep | awk '{print $2}' > tmp.txt

kill -9 $(cat tmp.txt | head -1)


I am not sure if the sudo should be used in a different manner.

Thanks!
# 4  
Old 11-05-2011
So, you are indeed using sudo. You need to configure the sudoers for avoiding the password.
Something like this in your /etc/sudoes file...
Code:
raj  ALL=NOPASSWD:/full/path/to/your/script

#remove "sudo -" from the first line and execute your script like this
sudo /your/script

BTW, you can try this for killing the skype process...
Code:
#Entry in sudoers
raj  ALL=NOPASSWD:/bin/kill

#Command
sudo kill - 9 $(pgrep skype)

HTH
--ahamed

Last edited by ahamed101; 11-05-2011 at 02:59 AM..
This User Gave Thanks to ahamed101 For This Post:
# 5  
Old 11-07-2011
I wanted to extend the above functionality to check for a file size and depending on that I want to restart a process.

But there is an error thrown as shown below:
Code:
CheckDATfileANDKillEngineANDRestart.sh: line 18: [: -gt: unary operator expected
DAT File size lesser
 
CheckDATfileANDKillEngineANDRestart.sh: line 18: [: -gt: unary operator expected
DAT File size lesser
Segmentation fault

The code performing this task is below:
Code:
#!/bin/sh
 
 
engineEXECUTE()
{
 
sleep 2
echo "In the engine function"
killENGINE
 
}
 
checkFILESIZE()
{
FILESIZE=$(ls -al File.dat | awk '{print $5}')
echo $FILESIZE
 
if [ "$FILESIZE" -gt 60000 ]; then
echo "DAT File size greater"
engineEXECUTE
else
echo "DAT File size lesser"
checkFILESIZE
fi
}
 
killENGINE()
{
sleep 2
echo "Inside KILLENGINE"
 
 
ps -ef | grep -i "CONTROLFILE" > tmpPROCESS
cat tmpPROCESS | grep -v grep | awk '{print $2}' > tmpPID
 
kill -9 $(cat tmpPID | head -1)
OUT=$?
if [ $OUT -eq 0 ];then
echo " killed"
else
echo " not found"
#<start process>
exit 1
fi
 
kill -9 $(cat tmpPID | tail -1)
OUT=$?
if [ $OUT -eq 0 ];then
echo " killed"
else
echo " not found"
exit 1
fi
 
rm tmpPID
rm tmpPROCESS
 
checkFILESIZE
}
 
checkFILESIZE

Can you please let me know why is there that error and how can I fix it?

Thanks!
# 6  
Old 11-07-2011
Does File.dat exist? Otherwise FILESIZE will be empty string.
# 7  
Old 11-07-2011
$FILESIZE might be empty here... Check if the file File.dat is present in the directory where this code is being executed
Code:
if [ "$FILESIZE" -gt 60000 ]; then

--ahamed
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script to report file size, pid and also kill the process

Hi All, Looking for a quick LINUX shell script which can continuously monitors the flle size, report the process which is creating a file greater than certain limit and also kill that process. Can someone please help me on this? (4 Replies)
Discussion started by: vasavimacherla
4 Replies

2. AIX

Kill pid

I created a program to kill long running pid processes. I am getting the following error message: -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... (10 Replies)
Discussion started by: dellanicholson
10 Replies

3. Shell Programming and Scripting

script to kill a pid giving error

Hi, I simply want to kill a running process using a script that read pid from a file and tries to kill it .Getting error as shown below code.. cat $HOME/BackupScript.ksh.run | head -1 | while read pid do ps -p $pid > /dev/null 2>&1 if ; then kill -9 $pid else echo "no running $pid... (5 Replies)
Discussion started by: dhirajdsharma
5 Replies

4. Shell Programming and Scripting

Unix Script -- Suggestions to list and kill PID's sequentially

Hi, I'm trying to write a script where i'm trying to grep the PID and the associated file and list them. Then execute the KILL command sequentially on the listed PID's for ".tra" files ==================================================== ps -aux | grep mine adm 27739 0.2 0.8 1131588... (12 Replies)
Discussion started by: murali1687
12 Replies

5. Shell Programming and Scripting

Kill a Script based on the pid and sleep

I would want to run a code for 1 min and if it doesnt succeed in 1 min..I would want to exit it..I am using the following code...But the script is not going into my code part.It is waiting for 60 secs and then getting killed. The code which is in the while loop actually takes less than 60 secs...... (6 Replies)
Discussion started by: infernalhell
6 Replies

6. Shell Programming and Scripting

grab PID of a process and kill it in a script

#!/bin/sh who echo "\r" echo Enter the terminal ID of the user in use: echo "\r" read TERM_ID echo "\r" ps -t $TERM_ID | grep sh echo "\r" echo Enter the process number to end: echo "\r" read PID echo "\r" kill -9 $PID What this code does is ultimately grab the PID of a users sh... (6 Replies)
Discussion started by: psytropic
6 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

Script to kill all child process for a given PID

Is there any build in command in unix to kill all the child process for a given process ID ? If any one has script or command, please let me know. Thanks Sanjay (4 Replies)
Discussion started by: sanjay92
4 Replies
Login or Register to Ask a Question