gpt4 book ai didi

node.js - 如何从 Node 中正确终止 Go 进程

转载 作者:数据小太阳 更新时间:2023-10-29 03:29:24 24 4
gpt4 key购买 nike

我想构建一个生成 Go 服务器的 Grunt 任务,然后在 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

最佳答案

child_process.exec 在 shell 中运行命令,似乎返回 shell 进程的 PID。请改用 spawn。

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

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

关于node.js - 如何从 Node 中正确终止 Go 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19395070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com