【发布时间】:2021-03-24 11:43:57
【问题描述】:
如何在主退出后保持进程运行?
更新:原来只有在goland跑步时才会这样。包括 cmets 在内的公认答案解决了这个问题。
信息:我有一个监视文件夹更改的可执行文件,我需要从 go 启动它并在退出后保持运行。
我看到了this,但它并没有解决退出后运行进程的问题。
package main
import "os/exec"
func main() {
cmd := exec.Command("sh", "long_running process", "&")
cmd.Start()
}
fmt.Println("Sleeping...")
time.Sleep(8 * time.Second) // I can see the process running
之后,当我执行“ps”时,主应用程序会终止该进程。
【问题讨论】:
-
如果你放一个长的
Time.Sleep你能验证长时间运行的进程是否正在使用ps运行? -
谢谢,是的,我可以验证进程正在运行。
-
Goland 可能正在杀死进程组。见stackoverflow.com/questions/35433741/…