Prozess samt Kindprozessen killen

11/12/2009 - 13:51 von Jakobus Schuerz | Report spam
Hi Leute!

Ich hab eine ganz eigenwillige Konstruktion.
Einerseits wrapperskripte, die ich mittels sudo als root ausführe,
welche wiederum mittels sudo Shellskripte als ein ganz bestimmter User
ausführen (das SUID bei Shellskripten nicht wirklich wirkt),
andererseits ein php-Web-Frontend, welches diese wrapper-Skripte aufruft.

Die ganze Konstruktion ist deswegen so, damit auf dem Rechner bestimmte
Auswertungen immer von einem bestimmten User ausgeführt werden, damit
die Besitzer und Gruppen der erzeugten Files immer gleich sind. Egal wer
die Skripte aufruft. Die Skripte werden nàmlich entweder von der Konsole
oder über das php-Frontend als auch über cronjobs u.à. aufgerufen.

Soweit so gut. Die Auswertungen sind z.T. sehr ressourcenaufwàndig. Und
über das Webfrontend kann eben so eine Auswertung gestartet werden. Wenn
jetzt ein User draufkommt, er benötigt die konkrete Auswertung gar
nicht, bevor sie fertig ist, làuft der Prozess/die Prozesse im
Hintergrund weiter und belasten den Server zusàtzlich.

Ich hab mir mit php und javascript eine Funktion gebastelt, die den
http-Request abbricht. Leider aber werden die Shell-Skripte nicht
abgebrochen. Ich war ja bisher immer der Meinung, dass auch Kindprozesse
getötet werden, wenn der Elternprozess gekillt wird. In dem Fall
funktioniert das aber nicht... (Wenn ich aus einem xterm ein xterm und
aus dem wieder ein xterm aufrufe, und ich kille das erste xterm, gehen
alle weiteren flöten...)

pkill bringt auch keine brauchbaren Ergebnisse.
Wo kann ich da ansetzen?

lg jakob

The UNIX way of Sex:
gunzip-strip-touch-finger-mount-fsck-more-yes-umount-sleep
 

Lesen sie die antworten

#1 Hauke Laging
11/12/2009 - 14:56 | Warnen spam
Jakobus Schuerz wrote:

Wo kann ich da ansetzen?



Vielleicht hier:

http://www.hauke-laging.de/software/killtree/


CU

Hauke
http://www.hauke-laging.de/ideen/

Ähnliche fragen