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

前端之家收集整理的这篇文章主要介绍了红宝石 – 如何阻止sinatra跑步?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果 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')

猜你在找的Ruby相关文章