golang 判断进程是否存在并结束
在Go语言中,可以使用os.FindProcess函数来判断进程是否存在,并使用Process.Kill方法来结束进程。
下面是一个示例代码:
package main
import (
"fmt"
"os"
"syscall"
)
func main() {
pid := 123 // 替换为你要判断的进程的PID
process, err := os.FindProcess(pid)
if err != nil {
fmt.Printf("无法找到进程: %s\n", err)
return
}
err = process.Signal(syscall.Signal(0))
if err == nil {
fmt.Println("进程存在")
err = process.Kill()
if err != nil {
fmt.Printf("无法结束进程: %s\n", err)
} else {
fmt.Println("进程已结束")
}
} else {
fmt.Println("进程不存在")
}
}
请注意,通过Signal(0)发送一个空信号给进程,如果没有错误发生,说明进程存在。然后,可以使用Kill方法来结束进程
原文地址: https://www.cveoy.top/t/topic/iSa5 著作权归作者所有。请勿转载和采集!