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

如何从 Node 正确杀死 Go 进程

如何从 Node 正确杀死 Go 进程

Go
慕妹3242003 2021-06-29 09:07:26
我想构建一个 Grunt 任务,它生成一个 Go 服务器,然后在 Go 源文件更改时杀死并重新生成它。我正在生成这样的 Go 进程:goProcess = child_process.exec('go run main.go', ...后来我试图终止这样的进程:if (goProcess) {    goProcess.kill('SIGINT');}但是 Go 进程并没有消亡。如何正确终止 Node 中的 Go 进程?我在这里有一个工作示例https://github.com/sporto/go-must-die
查看完整描述

1 回答

?
沧海一幻觉

TA贡献1824条经验 获得超5个赞

child_process.exec在 shell 中运行命令,似乎正在返回 shell 进程的 PID。使用 spawn 代替。

go run创建一个可执行文件并使用不同的 PID 运行它。尝试使用go build main.gonode.js构建二进制文件并运行该二进制文件。

goProcess = child_process.spawn('./main')


查看完整回答
反对 回复 2021-07-05
  • 1 回答
  • 0 关注
  • 179 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信