nur den pid mit ps ausgeben

Gesperrt
Nachricht
Autor
Mark

nur den pid mit ps ausgeben

#1 Beitrag von Mark » 17. Aug 2000 11:49

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 Beitrag von Jochen » 17. Aug 2000 12:43

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 Beitrag von Jochen » 17. Aug 2000 12:44

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

Mark

Re: nur den pid mit ps ausgeben

#4 Beitrag von Mark » 17. Aug 2000 13:13

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 Beitrag von Jochen » 17. Aug 2000 13:56

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 Beitrag von Mark » 17. Aug 2000 17:49

Besten Dank - werde es gleich ausprobieren!

Gesperrt