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