Requête si le service est en marche
Question
Comment puis-je demande si un service (dnsmasq) est en cours d'exécution en C?
La solution
Selon la page de manuel Dnsmasq , par défaut, il écrit un fichier pid à /var/run/dnsmasq.pid
. Ce fichier sera un fichier texte qui contient un nombre entier représentant l'ID de processus. Ouvrez le fichier, lire l'entier, et appel kill(pid, 0)
pour voir si le processus est vivant à ce pid. (Bien que la vérification de l'existence PID n'est pas garanti de ne pas trouver un autre processus en cours d'exécution à ce PID, il est généralement assez bon.)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow