Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 无法阻止由“rackup”启动的Webrick_Ruby_Sinatra_Rack_Webrick - Fatal编程技术网

Ruby 无法阻止由“rackup”启动的Webrick

Ruby 无法阻止由“rackup”启动的Webrick,ruby,sinatra,rack,webrick,Ruby,Sinatra,Rack,Webrick,我正在开发一个Sinatra应用程序,并使用rackup启动Webrick。我该怎么做才能阻止它?现在我使用Ctrl+Z,它似乎停止了。但是,当我再次尝试启动它时,它会说端口已绑定 我尝试了很多端口,每次它启动,停止,然后说它正在使用时,我重新启动它 如何解决它?Ctrl+Z将暂停进程,而不是终止/终止进程 要真正杀死它,请在进程表中找到它并执行kill-9[PID] 比如: 第二列16244是PID 另一种方法是用Ruby捕获INT信号并显式退出应用程序 在您的应用程序中: Signal.tr

我正在开发一个Sinatra应用程序,并使用rackup启动Webrick。我该怎么做才能阻止它?现在我使用Ctrl+Z,它似乎停止了。但是,当我再次尝试启动它时,它会说端口已绑定

我尝试了很多端口,每次它启动,停止,然后说它正在使用时,我重新启动它

如何解决它?

Ctrl+Z将暂停进程,而不是终止/终止进程

要真正杀死它,请在进程表中找到它并执行kill-9[PID]

比如:

第二列16244是PID

另一种方法是用Ruby捕获INT信号并显式退出应用程序

在您的应用程序中:

Signal.trap 'INT' do
    Process.kill 9, Process.pid
end
Ctrl+Z将暂停进程,而不是终止/终止进程

要真正杀死它,请在进程表中找到它并执行kill-9[PID]

比如:

第二列16244是PID

另一种方法是用Ruby捕获INT信号并显式退出应用程序

在您的应用程序中:

Signal.trap 'INT' do
    Process.kill 9, Process.pid
end

根据slivu的答复

如果您仍在同一终端中,请使用CTRL+C终止进程

如果您在后台启动它,或者希望从其他终端终止,请使用

ps aux | grep [r]ackup | awk '{print $2}' | xargs sudo kill -9

根据slivu的答复

如果您仍在同一终端中,请使用CTRL+C终止进程

如果您在后台启动它,或者希望从其他终端终止,请使用

ps aux | grep [r]ackup | awk '{print $2}' | xargs sudo kill -9

@slivu这是不正确的CTRL+C如何在rails中与webrick服务器一起工作你错过了rails做了我在这里展示的相同的把戏-捕捉信号并退出应用程序。WEBRick支持的普通应用程序无法通过CTRL-Cpkill停止-9 rackup较短。@slivu这是不正确的CTRL+C如何在rails中与WEBRick服务器一起工作您错过了rails的功能与我在这里展示的相同-捕获信号并退出应用程序。WEBRick支持的普通应用程序无法通过CTRL-Cpkill停止-9 rackup较短。