Détermination de l'existence d'un processus dans Go
Dans Go, la fonction os.FindProcess peut être utilisée pour récupérer un processus par son PID. Cependant, si cette fonction renvoie une erreur, cela indique-t-il nécessairement que le processus est terminé ?
Vérification de l'existence du processus
Selon la page de manuel de kill(2 ) sous Unix, envoyer un signal de 0 à un processus n'envoie pas réellement de signal mais vérifie si le processus est vivant. Cette approche peut être adaptée dans Go pour déterminer l'existence d'un processus.
Implémentation de Go
Le code Go suivant illustre cette technique :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
Exemple de sortie
Lors de son exécution, ce code affichera l'état de plusieurs processus :
1 2 3 4 |
|
Dans cet exemple, le processus 1 renvoie une erreur car il est n'appartient pas à l'utilisateur actuel. Le processus 12606 renvoie zéro car il est actif et appartient à l'utilisateur. Le processus 123 renvoie une erreur car il n'existe plus.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!