来到编程网的大家,相信都是编程学习爱好者,希望在这里学习Golang相关编程知识。下面本篇文章就来带大家聊聊《如何在 Golang 中启动另一个正在运行的程序实例?》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!
问题内容我希望 Go 程序启动多个与之交互的进程。 (我也不确定使用哪种 IPC 方法,但也许这是另一个问题)
我想到的是使用 os.Executable() 来获取正在运行的可执行文件的位置,然后使用 exec
包来运行程序的新实例。我想知道是否有另一种方法可以做到这一点,而无需查询可执行文件的路径,或者这是否是我应该担心的行为。
解决方案
在最新版本的 Go 中,建议使用 os.Executable
来查找程序自己的路径(see this older SO answer for details)。然后您可以使用 exec.Command
来运行它的更多实例。
但这很不寻常,所以我想知道您在这里想到的用例是什么。根据我的经验,协调多个流程是很棘手的,需要解决一个真正的问题才值得。
以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持编程网!更多关于Golang的相关知识,也可关注编程网公众号。