Linux Script um zu überprüfen, ob der Prozess läuft & amp; Handeln Sie auf das Ergebnis

Ich habe einen Prozess, schlägt Sie regelmäßig & manchmal beginnt die doppelte Instanzen..

Wenn ich ausführen:
ps x |grep -v grep |grep -c "processname"
Ich erhalten:
2
Dies ist normal, da der Prozess läuft mit einer recovery-Prozess.

Wenn ich
0
Ich werde wollen, um den Prozess zu starten
wenn ich bekommen:
4
Ich werde aufhören will zu & starten Sie den Prozess

Was ich brauche ist ein Weg, wenn man das Ergebnis ps x |grep -v grep |grep -c "processname"

Dann setup eine einfache 3 option Funktion

ps x |grep -v grep |grep -c "processname"
if answer = 0 (start process & write NOK & Time to log /var/processlog/check)
if answer = 2 (Do nothing & write OK & time to log /var/processlog/check)
if answer = 4 (stot & restart the process & write NOK & Time to log /var/processlog/check)

Den Prozess gestoppt wird mit
killall -9 process
Der Prozess wird gestartet mit
process -b -c /usr/local/etc

Mein Hauptproblem ist das finden einer Weise zu handeln, die auf das Ergebnis ps x |grep -v grep |grep -c "processname".

Im Idealfall würde ich mag, um das Ergebnis des grep-eine variable in das Skript mit so etwas wie dies:

process=$(ps x |grep -v grep |grep -c "processname")

Wenn möglich.

InformationsquelleAutor der Frage linuxnoob | 2013-11-23

Schreibe einen Kommentar