os.FindProcess est-il suffisant pour vérifier l'existence d'un processus ?
Dans les scénarios où le PID d'un processus est connu, vous vous demandez peut-être si l'utilisation os.FindProcess établit à lui seul de manière adéquate l’existence du processus. Cet article approfondit ce scénario spécifique et propose une approche alternative qui exploite les principes du système d'exploitation.
limitations de os.FindProcess
Approche alternative utilisant kill -s 0
import ( "log" "os/exec" "strconv" ) func checkPid(pid int) bool { out, err := exec.Command("kill", "-s", "0", strconv.Itoa(pid)).CombinedOutput() if err != nil { log.Println(err) } if string(out) == "" { return true // pid exist } return false }
Détection améliorée de l'existence du processus
Conclusion
Alors que os.FindProcess fournit des indications initiales sur l'existence du processus, englobant le L'approche Unix traditionnelle utilisant kill -s 0 offre une vérification et des informations plus complètes sur la propriété des processus.
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!