seekwhencer: ps ax |grep "processname" - findet sich selbst

Hallo Leute,

ich habe ein Programm, den Shoutcast Transcoder, und dieser quittiert einfach ab und zu seinen Dienst. Um ihn zu starten, wenn er nicht mehr läuft, habe ich ein Script geschrieben, das via Cronjob jede Minute ausgeführt wird.

if [ "$(ps ax |grep "sc_trans")" ]
then
 sleep 1s
else
 $HOME/path/sc_trans
fi

so! Nun die erste Frage: wie bekomme ich eine Verneinung in die If? Sodass ich das else mir erspare. Und die zweite Frage: es passiert so oder so nichts, da ps sich selbst findet - somit komme ich nicht in else.

Hat jemand zwei Tipps?

Gruß

  1. Nachtrag,

    das grep muss noch herausgefiltert werden:

    ps ax |grep "processname" | grep -v grep

    dann findet er wirklich nur die sachen, die man will und nicht sich selbst...

    sorry