If your system has pidof, use that. Otherwise, the customary solution is to run grep on a ps listing of your processes, and use that to find the PID to pass to kill. However, a naive attempt will have the problem that it will find itself in the process listing, and commit suicide instead of kill the intended target. The proper workaround for that is to use a regular expression which does not directly match itself as the search string.
Unfortunately, the options and output format of ps varies from one system to another. The following works for me on a recent version of Ubuntu.
The use of [t] instead of just a plain t is the workaround for the "script will kill itself" problem. The use of xargs -r prevents kill from being run at all if there are no matches (there would only be a warning message about running kill with no arguments, so that is not a very fatal problem).
The option t and the field numbers $1 and $5 might need to be changed for your system. If you google for a similar solution for your particular platform, look out for the problems outlined above. For stylistic reasons, a single awk script should be preferred over what is affectionately called Useless Use of Grep.
Another way:
inside your script, create a temporary file that holds the current pid of your script. When you wish to terminate the process, use that as such: kill -9 `cat pidfile`
If you want something very specific and accurate:
- setuid() to another user which only runs that process (script)
- pkill -9 -u youruser
You can also use pkill to kill all processes using a certain terminal pkill -9 -t pts/1
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)