プロセスの存在を確認するには os.FindProcess で十分ですか?
プロセスの PID がわかっているシナリオでは、os.FindProcess を利用できるかどうか疑問に思うかもしれません。 os.FindProcess だけでも、プロセスの存在を適切に確立できます。この記事では、この特定のシナリオを詳しく掘り下げ、オペレーティング システムの原則を活用する別のアプローチを提供します。
os.FindProcess の制限事項
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 }
プロセスの存在検出の改善
結論
os.FindProcess はプロセスの存在を示す最初の情報を提供しますが、kill -s 0 を使用した従来の Unix アプローチを採用することで、より包括的な検証とプロセスの所有権に関する洞察。免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3