首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从红宝石中产卵并终止它。

从红宝石中产卵并终止它。
EN

Stack Overflow用户
提问于 2014-05-18 10:52:31
回答 1查看 89关注 0票数 2

我正试着从红宝石开始一个牢骚的任务。此任务将永远运行,因为它启动了服务器。

稍后,在红宝石脚本中,我想关闭我用咕噜声启动的服务器。

我现在有以下几点:

代码语言:javascript
代码运行次数:0
运行
复制
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。

我怎样才能得到任务pid,这样我就可以终止这个任务?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-29 09:24:13

事实证明,以这种方式设置环境变量才是问题所在。以这种方式设置它们是可行的:

代码语言:javascript
代码运行次数:0
运行
复制
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。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23721111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档