プロセスのPIDがある場合は、プロセスの既存のものをテストするにはos.FindProcessで十分ですか? err
が返ってきたら、それが終了した(または殺された)と思いますか?プロセスが進行中であるかどうかをチェック
編集:
私はちょうどkill -s 0
(古いスタイルのbashプロセス・テスト)の周りにラッパー関数を書いてきました。しますこれは何の問題もなく動作しますが、この問題に対する他のソリューション(GO図書館で行われる):
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
}
それはそれです! Goの方法を教えてくれてありがとう:) –
なぜあなたは 'int64'に解析していますか? 'Atoi'は良くないでしょう(' FindProcess'では型変換されません)? – tjameson
はい、あなたは正しいです。「アトー」が良いでしょう。私はもっと最近、 'ParseInt'を使って忘れてしまったと思います! –