在用exec包调用的其他进程后如何关闭结束,可以使用context包的机制进行管理,context包的使用详见:https://godoc.org/context
exec.CommandContext
方发实现了context
,通过context
可以对exec启动的进程结束。
隐藏程序自身黑窗口的方法:go build -ldflags="-H windows"
隐藏子进程黑窗口的方法:
cmd.SysProcAttr = &syscall.SysProcAttr{HIDeWindow: true}
package mainimport ( "context" "fmt" "os" "os/exec" "syscall" "time")func main() { ctx,cancel := context.WithCancel(context.Background()) cmd := exec.CommandContext(ctx,"./b") cmd.SysProcAttr = &syscall.SysProcAttr{HIDeWindow: true} cmd.Stdout = os.Stdout cmd.Start() time.Sleep(10 * time.Second) fmt.Println("退出程序中...",cmd.Process.PID) cancel() cmd.Wait()}
转自:http://mp.weixin.qq.com/s?__biz=MzAxMzc4Mzk1Mw==&mid=2649836709&idx=1&sn=dc1eb9d75e544ca1b6e98c464fc73265&chksm=8398aa5bb4ef234d732b6e8a8f48c07520329ed3ff0e657dccb3c90af5b44e3dfb0749ef2a34&mpshare=1&scene=1&srcid=1031BJbRDke2YHPGja6cFTHR#rd
总结以上是内存溢出为你收集整理的[小技巧]golang 通过exec Command启动的进程如何关闭的解决办法全部内容,希望文章能够帮你解决[小技巧]golang 通过exec Command启动的进程如何关闭的解决办法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)