Script to Kill a Process by Name...


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script to Kill a Process by Name...
# 1  
Old 04-20-2010
Script to Kill a Process by Name...

Hello all... new to these forums and a bit of a newbie with linux aswell.

I need to figure out how to write a shell script to kill a process by name as given to the script as an argument. I've got that part working OK, but i need to make sure that the script does not allow processes that are owned by root to be killed.

I have tried all combinations of IF statements, but i can't seem to get any to work Smilie

Any help would be appreciated, Thanks.
# 2  
Old 04-20-2010
MySQL

Simple idea

Code:
pid=`ps aux|grep $1|grep -v root|awk '{print $2}'`
kill -9 $pid

# 3  
Old 04-20-2010
Code:
process_id=`ps aux | grep $1 | grep -v root | grep -v grep | awk '{print $2}'`
 
if [ $? -eq "0" ]; then
kill -9 $process_id
fi

if you get more than one output for the below command
Code:
ps aux | grep $1 | grep -v root | grep -v grep | awk '{print $2}'

then, use the below one
Code:
process_id=`ps aux | grep $1 | grep -v root | grep -v grep | awk '{print $2}'` 
if [ $? -eq "0" ]; then
for i in $process_id;do kill -9 $i;done
fi

# 4  
Old 04-20-2010
None of the solutions provided are very good (no offense intended to their respective providers). They all check for the presence of the command name and "root" in ps output, but do not constrain their presence to their respective fields. They will fail if the command name contains "root" or "grep" (so you can't use it to kill grep, egrep, fgrep, etc). Also, when identifying priviliged processes, it's best to check for id 0 instead of the name 'root', unless you are specifically interested in "root" and not privilege in general.

If your system has pkill, with the appropriate options, it is all you need.

Regards,
Alister
# 5  
Old 04-21-2010
Thanks for the responses. I have tried the examples posted but none of them seem to work. They either produce errors or kill the process regardless of the owner.

I have done a bit of reading and pkill does seem to be the easiest option. Could anyone suggest how to implement it into my example?

Thanks again.

Ps. I am using Debian if that makes a difference.
# 6  
Old 04-21-2010
Quote:
Originally Posted by cannon1707
Thanks for the responses. I have tried the examples posted but none of them seem to work. They either produce errors or kill the process regardless of the owner.
If you stated what errors it might help fix the programs.
# 7  
Old 04-21-2010
I eventually wrote something that works... it's a little buggy but it does the job.

Code:
#!/bin/bash
process=`pgrep -U root "$1" | wc -l`
if [ $process -ge 1 ]; then
echo It is not safe to kill this process...
else
pkill $1
echo $1 process killed...
fi

Thanks for the help.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Capture process id and kill that via script

Dear Experts , we have a script scheduled on daily basis , cd /u01/oracle/inst/apps/PROD_prodapps/admin/scripts/ ./adstpall.sh apps/apps echo " " echo " " echo " " ps -ef | grep FND pkill -9 FND ps -ef | grep FND pkill -9 FND ps -ef | grep FND but even then there are some... (2 Replies)
Discussion started by: rehantayyab82
2 Replies

2. Shell Programming and Scripting

Kill idle Process using a script

Hi, I need a script that can automatically kill all processes named "webrepn" and "webrebw" if idle for more than 30 minutes. Then I will have a Cron Job to run the script every night or 2-3 times a day depends on how this script helps. Right now, I run "ps -ef | grep webrebn" and "kill -9... (7 Replies)
Discussion started by: MaggieL
7 Replies

3. Shell Programming and Scripting

Kill all child process of a script

Hi guys i have a problem with a script... this script creates differents GUI with YAD... well i want that when i press the "Cancel" button on this graphical interface all the child process and even the same script should be killed #!/bin/bash function gui_start { local choice="" ... (4 Replies)
Discussion started by: maaaaarco
4 Replies

4. Shell Programming and Scripting

Cannot kill hacker process with my script

I want to kill a process of xterm that is run by hacker with my login name. So, I write a shell script to do my goal. I run 2 xterm and then I run my script on a first xterm. it should kill the process of a second xterm but it doesn't.Why? Here is my code : #!/bin/ksh myps=$(ps -f|grep... (7 Replies)
Discussion started by: thsecmaniac
7 Replies

5. Shell Programming and Scripting

Script to kill the specific process

Hi I have the process to kill regulary, but the PSID is dymatic change and not sure how to kill the specific process ID Check the tradekast_rvd is running , if such process, kill the els process id ps -e f |grep tradekast_rvd ps -ef |grep els then I kill els process id ... (2 Replies)
Discussion started by: linux_user
2 Replies

6. UNIX for Dummies Questions & Answers

Script to start background process and then kill process

What I need to learn is how to use a script that launches background processes, and then kills those processes as needed. The script successfully launches the script. But how do I check to see if the job exists before I kill it? I know my problem is mostly failure to understand parameter... (4 Replies)
Discussion started by: holocene
4 Replies

7. Shell Programming and Scripting

Shell Script to Kill Process(number of process) Unix/Solaris

Hi Experts, we do have a shell script for Unix Solaris, which will kill all the process manullay, it used to work in my previous env, but now it is throwing this error.. could some one please help me to resolve it This is how we execute the script (and this is the requirement) ... (2 Replies)
Discussion started by: jonnyvic
2 Replies

8. AIX

Kill IDLE Process using script !!!

Dear Friends , I am using DB2 database in AIX 5.3 server . In my server some IDLE process are generated after several times which I need to kill it manually each and every time . The process I query like following : root@bagpuss $ ps auxw|sort -r +3|head -10 USER PID %CPU %MEM ... (3 Replies)
Discussion started by: shipon_97
3 Replies

9. Shell Programming and Scripting

Script to kill process...

hello Bros, I need to write some script that i can put it on crontab which checks for a process X if running. If the process X is ruuning then take the PID and kill it or display message that says process X is not running. I am using AIX 5.3 Thanks guys.:b: (2 Replies)
Discussion started by: malcomex999
2 Replies

10. Shell Programming and Scripting

Script to kill process

Hello guys, I have a process named monitoreo, with 'monitoreo start' my process start until i kill them, now i want to do 'monitoreo stop' to kill them. After 'monitoreo start' i have this process running: ps -af UID PID PPID C STIME TTY TIME CMD ati 10958 1495 ... (5 Replies)
Discussion started by: Lestat
5 Replies
Login or Register to Ask a Question