PHP & MySQL Engineering

Prozess mitsamt allen Unterprozessen beenden

Auf einem meiner Server hat vor kurzem ein Script verrückt gespielt, was zu einer sehr grossen Anzahl an Prozessen (mitsamt Unterprozessen) in der Warteschlange geführt hat. Um mir die Aufräumarbeiten etwas zu erleichtern, habe ich mir folgendes Script geschrieben.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/ksh
 
# Löscht einen Prozess mitsamt allen Unterprozessen
# Der PID eines Prozesses muss als erster Parameter angegeben werden
 
ppid=$1
 
if [ -z $ppid ] ; then
   echo "Usage: $0 PID"
   exit;
fi
 
 
function kill_process_recursive
{
        for i in `pgrep -P $1`
        do
                kill_process_recursive $i
        done
 
        echo $1
        #kill $1
}
 
kill_process_recursive $ppid
 
exit;

Beispiel :

1
2
3
4
5
6
7
claude@hades /home/claude # sh kill_process_tree.sh 32461
2364
2363
24324
24334
24323
32461

Im Beispielscript habe ich kill $1 kommentiert und durch echo $1 ersetzt.
Damit die Prozesse auch wirklich beendet werden, muss man diese Änderung natürlich umdrehen Icon Wink in Prozess mitsamt allen Unterprozessen beenden

 

Kommentare

Bisher wurden keine Kommentare hinterlassen.

Kommentar hinterlassen

 
(Wird nicht veröffentlicht)
 
(rel="follow")
 
Kommentar *
 
Fünf + Zehn =