为了账号安全,请及时绑定邮箱和手机立即绑定

如何启动子进程,当我的主进程退出时,该子进程将退出

如何启动子进程,当我的主进程退出时,该子进程将退出

Go
哈士奇WWW 2022-08-15 16:28:49
我有一个简单的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


查看完整回答
反对 回复 2022-08-15
  • 1 回答
  • 0 关注
  • 142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号