gpt4 book ai didi

ruby - 从 ruby​​ 生成 grunt 任务并再次终止它

转载 作者:太空宇宙 更新时间:2023-11-03 16:26:40 25 4
gpt4 key购买 nike

我正在尝试从 ruby​​ 启动一个 grunt 任务。这个任务永远运行,因为它启动了一个服务器。

稍后在 ruby​​ 脚本中我想关闭我用 grunt 启动的服务器。

我现在有以下内容:

grunt_proxy_pid = spawn("TARGET_PORT=#{port+1} PROXY_PORT=#{port} grunt server:test", :out=>"/dev/null")
Process.detach grunt_proxy_pid

... ruby code ...

Process.kill "SIGINT", grunt_proxy_pid

但是这不会终止 grunt 任务,只会终止执行 grunt server:test 命令的 shell 命令(在任务管理器中,pid 为“grunt_proxy_pid”的任务类似于 sh -c TARGET_PORT=3523 PROXY_PORT=3224 grunt server:test 但是 grunt 进程本身有另一个 pid。

如何获取 grunt 任务 pid 以便我可以终止 grunt 任务?

最佳答案

原来是这样设置环境变量的问题。以这种方式设置它们有效:

grunt_proxy_pid = spawn({
"TARGET_PORT" => "#{port+1}",
"PROXY_PORT" => "#{port}"
}, "grunt server:test", :out=>"/dev/null")
Process.detach grunt_proxy_pid

这样 grunt 命令就不会以 sh -c 开始,grunt_proxy_pid 是 grunt 进程本身的 pid。

关于ruby - 从 ruby​​ 生成 grunt 任务并再次终止它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23721111/

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