nur den pid mit ps ausgeben

Locked
Message
Author
Mark

nur den pid mit ps ausgeben

#1 Post by Mark »

Ich versuche, ein kleines script zu schreiben, das knewmail und knetload beendet, wenn kppp beendet wird.
Dazu muß ich über ps alleine die Ausgabe der pid bekommen. Ich finde jedoch kein flag, das dies ermöglicht. Habe ich es übersehen? Gint es eine andere Möglichkeit?
Vielen Dank für die Hilfe!

Jochen

Re: nur den pid mit ps ausgeben

#2 Post by Jochen »

Weiss zwar nicht, ob du den gleichen ps benutzt wie ich, aber versuch's mal mit<pre>ps -j -o pid</pre>Gibt (bei mir) nur die PIDs aus und unterdrückt auch noch die Headerzeile.

Jochen

Re: nur den pid mit ps ausgeben

#3 Post by Jochen »

Fsck! Vertippt! Nochmal, aber diesmal richtig:<pre>ps -h -o pid</pre>Sorry...

Mark

Re: nur den pid mit ps ausgeben

#4 Post by Mark »

Danke für die Antwort! Cih kann aber mit den Flags nicht die pid eines bestimmten Proggis ermitteln,
ps -h -o pid | grep knewmail
z.B. gibt bei mir keinen Wert aus. Zudem möchte ich die pid gerne an kill übergeben, aber das geht auch nur über den Umweg einer Variable, aber nicht mit |:

pkl=$(ps -??? | grep knetload) && kill $pkl

Die Variable pkl gibt an kill auch den user etc., so daß das script hier abbricht.

Jochen

Re: nur den pid mit ps ausgeben

#5 Post by Jochen »

Es ist ja nicht so, als hätte man nur den grep...<pre>PID_TO_KILL=`ps -h -o pid,ucomm | awk -v progname="$PROGNAME" '$2 ~ progname { print $1 }'`
[ -n "$PID_TO_KILL" ] && kill "$PID_TO_KILL"</pre>

Anstelle des awk-Proggies könnte man auch <pre>grep "$PROGNAME" | cut -d" " -f1</pre>schreiben, falls man keinen awk mag. (Soll vorkommen <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">)

Mark

Re: nur den pid mit ps ausgeben

#6 Post by Mark »

Besten Dank - werde es gleich ausprobieren!

Locked