我正在开发一个 Sinatra 应用程序,并使用“rackup”来启动 Webrick。我应该做什么来阻止它?现在我使用 Ctrl+Z,它似乎停止了。但是,当我尝试再次启动它时,它会说端口已绑定(bind)。
我尝试了很多端口,每次它启动,停止,然后当我再次重新启动它时说它正在使用。
如何解决?
最佳答案
Ctrl+Z
只会“暂停”进程,而不终止/杀死它。
要真正杀死它,请在进程表中找到它并执行 kill -9 [PID]
喜欢:
ps auxwww | grep ruby
slivu 16244 0.0 0.5 2551140 61220 s020 R+ 1:18AM 0:10.70 ruby app.rb
第二列(16244)是PID。
另一种方法是使用 Ruby“捕获”INT
信号并显式退出应用程序。
在您的应用程序中:
Signal.trap 'INT' do
Process.kill 9, Process.pid
end
关于ruby - 无法阻止 "rackup"启动的 Webrick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13108395/