Linux – Prüfen ob Prozess aktiv

Es kann hilfreich sein, zu wissen ob ein Prozess im Moment aktiv ist oder nicht. Hierzu gibt es eine Vielzahl von unterschiedlichen Möglichkeiten unter Linux. Ich werde hier kurze die vorstellen, die mir am einfachsten Erscheint und dazu mit Standartwerkzeugen (auch unter Busybox) ausgeführt werden kann.

SERVICE=openvpn
if P=$(pgrep $SERVICE)
then
        echo "openvpn aktiv"
else
        cd /etc/openvpn
        openvpn --config /etc/openvpn/client.ovpn &
        echo "openvpn wird nun gestartet"
fi

Das Beispielprogramm macht nichts anderes, als die Prozessliste mit pgrep zu durchsuchen. Wird ein Eintag des Prozesses den wir suchen (openvpn) gefunden, dann wird das dementsprechende Statement in der if-else-Anweisung ausgeführt.

Es könnten genauso aber auch andere Dinge passieren, wie z.B. das versenden einer E-Mail u.a.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert