Compte tenu du pid d’un processus Linux, je veux vérifier, à partir d’un programme C, si le processus est toujours en cours d’exécution.
Réponses
Trop de publicités?est l’approche typique, comme l’a dit @blagovest-buyukliev. Mais si le processus que vous vérifiez peut appartenir à un autre utilisateur et que vous ne souhaitez pas prendre les mesures supplémentaires pour vérifier si
, il s’avère que
est une méthode efficace en une étape pour déterminer si un processus a le PID donné (puisque vous êtes autorisé à inspecter l’ID du groupe de processus même pour les processus qui ne vous appartiennent pas).
Vous pouvez émettre un appel système avec comme
signal.
Il n’y a rien de dangereux à propos de `` . Le programme doit être conscient que le résultat peut devenir obsolète à tout moment (y compris que le pid peut être réutilisé avant que kill ne soit appelé), C’est tout. Et l’utilisation de procfs à la place utilise également le pid, et de le faire d’une manière plus lourde et non standard.