[小技巧]golang 通过exec Command启动的进程如何关闭的解决办法

[小技巧]golang 通过exec Command启动的进程如何关闭的解决办法,第1张

概述在用exec包调用的其他进程后如何关闭结束,可以使用context包的机制进行管理,context包的使用详见:https://godoc.org/context exec.CommandContext方发实现了context,通过context可以对exec启动的进程结束。 隐藏程序自身黑窗口的方法:go build -ldflags="-H windows" 隐藏子进程黑窗口的方法: cmd.

在用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启动的进程如何关闭的解决办法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1281810.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存