查询进程状态
Querying ProcessState
我有一个简单的程序,运行一个 exe,然后检查 Exited 值,但它给我一个 "panic: runtime error: invalid memory address or nil pointer dereference" 错误,知道为什么吗?
package main
import (
"fmt"
"os/exec"
"time"
)
func main() {
prog:= exec.Command("path\to\exe")
prog.Dir = "path\to"
go prog.Run()
fmt.Println(prog.ProcessState.Exited())
time.Sleep(500 * time.Second)
}
ProcessState contains information about an exited process available after a call to Wait or Run.
主 goroutine 在 ProcessState 字段通过调用 goroutine 中的 运行() 设置为非零值之前访问该字段。结果调用 Exited() 出现恐慌。
一个简单的解决方法是从主 goroutine 调用 运行()。
我有一个简单的程序,运行一个 exe,然后检查 Exited 值,但它给我一个 "panic: runtime error: invalid memory address or nil pointer dereference" 错误,知道为什么吗?
package main
import (
"fmt"
"os/exec"
"time"
)
func main() {
prog:= exec.Command("path\to\exe")
prog.Dir = "path\to"
go prog.Run()
fmt.Println(prog.ProcessState.Exited())
time.Sleep(500 * time.Second)
}
ProcessState contains information about an exited process available after a call to Wait or Run.
主 goroutine 在 ProcessState 字段通过调用 goroutine 中的 运行() 设置为非零值之前访问该字段。结果调用 Exited() 出现恐慌。
一个简单的解决方法是从主 goroutine 调用 运行()。