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.
Schreibe einen Kommentar