我有一个简单的Go应用程序,它偶尔会在后台运行bash脚本。为简单起见,我只是在后台使用网页启动chrome。#!/bin/env bash
chrome https://www.google.com现在可能发生2件事:已经打开了一个镶边窗口。在这种情况下,chrome 会在现有窗口中打开网址并退出。尚未打开镶边窗口。在这种情况下,chrome 命令将成为 chrome 主进程,并绑定到浏览器窗口。这意味着如果我不关闭浏览器窗口,该进程不会退出,如果我的Go应用程序退出,浏览器将退出(因为它是子进程)。我不希望第二种情况发生!因为在这种情况下,如果我退出应用程序,Chrome也会退出,我不想要这样。我是否可以以某种方式在 Go 中启动一个进程(使用类似的东西),并将其与我的应用程序完全断开连接,以便该进程独立运行(不与我的进程一起退出,不阻止它)?exec.Command
1 回答

胡说叔叔
TA贡献1804条经验 获得超8个赞
这似乎对我有用:
package main
import "os/exec"
func main() {
exec.Command(`C:\Windows\notepad`).Start()
}
回复评论。关于 ,如果你打电话,它本质上和打电话是一回事。关键是它允许您在命令的开始之间以及等待它完成时放置代码。WaitWaitRunWait
与此形成鲜明对比的是 ,其中“开始”和“等待”一个接一个地发生,而没有选择在两者之间放置任何东西。或者在这种情况下,您根本不想要。RunWait
https://golang.org/pkg/os/exec#Cmd.Start
- 1 回答
- 0 关注
- 142 浏览
添加回答
举报
0/150
提交
取消