Master Tom Geschrieben 23. Mai 2004 Geschrieben 23. Mai 2004 Hallo, ich suche eine möglichkeit abzufragen, ob ein bestimmtes Programm noch läuft, andernfalls soll es neu gestartet werden. Wie kann ich sowas anstellen ? Zitieren
nic_power Geschrieben 23. Mai 2004 Geschrieben 23. Mai 2004 Hallo, aus der Shell heraus oder bist Du auf der Suche nach einem Stück Programmcode (C, C++)? Nic Zitieren
Master Tom Geschrieben 23. Mai 2004 Autor Geschrieben 23. Mai 2004 Ich suche eher nen Code, wo ich z.B. als cronjob laufen lassen kann. Zitieren
robotto7831a Geschrieben 23. Mai 2004 Geschrieben 23. Mai 2004 Mit ps -aef | grep programmname kann man in der Prozessliste sehen ob das Programm läuft. Frank Zitieren
nic_power Geschrieben 23. Mai 2004 Geschrieben 23. Mai 2004 Hallo, Mit ps -aef | grep programmname Das Problem dabei ist, dass man auch den grep-Prozess findet. Sofern Du die PID kennst, kannst Du mir "ps -p <pid>" abfragen, ob der Prozess läuft. Unter SuSe gibt es "checkproc", welches anhand des Dateinamens oder der PID den Status abfragt: /sbin/checkproc /bin/bash liefert als Exit-Code 0 sofern eine Bash läuft. Ansonsten muss Du Dir was mit "ps" und "awk" zusammenbauen: ps aux | awk '/schnulli/ && !/awk/ {print $2}' Liefert die PID des Prozesses mit dem Namen "schnulli" (sofern dieser läuft). Je nach Unix-Derivat musst Du ggf. etwas mit den Optionen von ps rumexperimentieren. Nic Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.