Page 1 of 1

nur den pid mit ps ausgeben

Posted: 17. Aug 2000 11:49
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!

Re: nur den pid mit ps ausgeben

Posted: 17. Aug 2000 12:43
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.

Re: nur den pid mit ps ausgeben

Posted: 17. Aug 2000 12:44
by Jochen
Fsck! Vertippt! Nochmal, aber diesmal richtig:<pre>ps -h -o pid</pre>Sorry...

Re: nur den pid mit ps ausgeben

Posted: 17. Aug 2000 13:13
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.

Re: nur den pid mit ps ausgeben

Posted: 17. Aug 2000 13:56
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">)

Re: nur den pid mit ps ausgeben

Posted: 17. Aug 2000 17:49
by Mark
Besten Dank - werde es gleich ausprobieren!