在运行Sinatra时,我不小心点击了ctrl + z来停止服务器而不是ctrl + c Ctr + z似乎停止了应用程序。但现在我无法重启它。请帮忙。
^Z
[1]+ Stopped ruby app.rb
jeffrey-mac:scta JCWitt$ ruby app.rb
[2014-01-23 11:34:24] INFO WEBrick 1.3.1
[2014-01-23 11:34:24] INFO ruby 1.9.3 (2012-04-20) [x86_64-darwin11.4.2]
[2014-01-23 11:34:24] WARN TCPServer Error: Address already in use - bind(2)
[2014-01-23 11:34:24] WARN TCPServer Error: Address already in use - bind(2)
[2014-01-23 11:34:24] WARN TCPServer Error: Address already in use - bind(2)
== Someone is already performing on port 4567!
答案 0 :(得分:12)
按Ctrl + Z时,您将暂停应用程序并将其发送到后台。它不会被执行但它也不会被杀死,它所使用的资源(例如打开的文件或网络套接字)继续被绑定到应用程序。
您可以通过在shell中运行fg
(前景的缩写)来恢复应用。
答案 1 :(得分:4)
我遇到了类似的错误,但命令fg
没有帮助。我使用命令lsof -i :4567
来查找哪个进程打开了端口,然后我用kill PROCESS_ID
停止了它。