加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

红宝石 – 如何阻止sinatra跑步?

发布时间:2020-12-16 20:11:57 所属栏目:百科 来源:网络整理
导读:如果 ruby myapp.rb在本地主机启动sinatra预览:4567,我如何以编程方式停止/停止/杀死它?终端命令(Ctrl-C除外),或者Rake任务会很好. 我需要将其纳入耙子任务或终端. 解决方法 在myapp.rb中,在sinatra开始之前添加: puts "This is process #{Process.pid}"
如果 ruby myapp.rb在本地主机启动sinatra预览:4567,我如何以编程方式停止/停止/杀死它?终端命令(Ctrl-C除外),或者Rake任务会很好.

我需要将其纳入耙子任务或终端.

解决方法

在myapp.rb中,在sinatra开始之前添加:
puts "This is process #{Process.pid}"

当你想杀死它,在shell中执行此操作:

kill <pid>

其中< pid>是myapp.rb输出的号码.如果你想在红宝石中做:

Process.kill 'TERM',<pid>

这两个都将让sinatra运行它的退出例程.如果您不想每次都输入pid,请将myapp.rb打开一个文件,并将其放在其中.然后当你想停止它,阅读文件并使用它.例:

# myapp.rb:
File.open('myapp.pid','w') {|f| f.write Process.pid }

# shell:
kill `cat myapp.pid`

# ruby:
Process.kill 'TERM',File.read('myapp.pid')

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读