Если у меня есть PID процесса, os.FindProcess достаточно, чтобы проверить существующий процесс? Я имею в виду, если он возвращает err
, могу ли я предположить, что он был завершен (или убит)?
Edit:
Я только что написал оберточную функцию вокруг 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
}