Prüfen ob Prozess besteht

Kidix

Grünschnabel
Hi,


ich möchte per sh Script überprüfen ob ein Prozess besteht..., wenn dein soll er gestartet werden.

Das ganze nicht mit root sondern einem anderen user!

Kidix

P.S. Wenn ich mich per ssh in der konsole einlogge und einen prozess starte, sehe ich ihn per ps, wenn ich mich aber neu einlogge und gleiches nochmal versuche steht nichts mehr drin, der prozess läuft aber noch! Wieso?
 
Nun hierzu solltest du folgendes verwenden:

einmal das ps kommando mit den spezifischen optionen und das ganze pipest du in einen grep befehl, wie der Prozess heisst.

Du kannst das ganze in deinem Shellskript abprüfen indem du das ergebnis von

prozesslauf=ps -A | grep "meinProzess"

und dann mit einem if else statement abprüfst.


und das mit dem nicht als root sondern anderer user:

wechsele mit su zu dem user und starte dann das script.

Das geheimnis bei dem anloggen von sehen und nicht sehen besteht darin,
dass, wenn du dich ausloggst, alle von dir gestarteten prozesse meist beendet werden, bzw. einem anderen environment zugeordnet sind.

Wenn du dich erneut einloggst, wird ein neues environment aufgemacht. Allerdings siehst du mit ps -A alle laufenden prozesse. Du hast ws. nur ps eingegeben, welches dir nur die in diesem environment gestarteten prozesse anzeigt.

(Kann sein, dass gleich einige Linux-Cracks mir auf die mütze geben, weil ich etwas nicht ganz richtig geschrieben habe, aber so glaube ich läuft das ganze!)

Gruss,

Torsten
 
Zurück