Abfrage, ob Dienst ausgeführt wird
Frage
Wie kann ich Abfrage, ob ein Service (dnsmasq) ausgeführt wird, in C?
Lösung
Nach dem dnsmasq Manpage , per default schreibt eine pid-Datei /var/run/dnsmasq.pid
. Diese Datei ist eine Textdatei, die eine ganze Zahl darstellt, die Prozess-ID enthält. Öffnen Sie die Datei, lesen Sie die ganze Zahl, und Anruf kill(pid, 0)
zu sehen, ob der Prozess an diesem pid am Leben ist. (Obwohl für die PID-Existenz Überprüfung garantiert nicht nicht ein anderer Prozess in diesem PID ausgeführt zu finden, es ist in der Regel gut genug.)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow