Answers:
删除文件:C:/Sites/folder/Pids/Server.pids
解释 在UNIX环境中,至少我们通常在诸如server.pid之类的文件中跟踪进程ID(pid)。我认为这在这里做同样的事情。该文件可能是崩溃后遗留下来的。
netstat -a -o
在提示,看看有什么进程在使用3000端口命令
TL; DR只需运行此命令即可杀死它
sudo kill -9 $(lsof -i :3000 -t)
根本原因: 因为PID锁定在文件中,并且Web服务器认为该文件存在,则意味着它已经在运行。通常,当一个Web服务器关闭该文件被删除,但在某些情况下,适当的缺失不会发生,所以你必须手动删除该文件 的新解决方案
当您运行rails时
=>正在启动WEBrick
=> Rails 4.0.4应用程序从开发开始 http://0.0.0.0:3000
=>运行rails server -h
更多启动选项
=> Ctrl-C关闭服务器
服务器已经在运行。检查/your_project_path/tmp/pids/server.pid。 退出中
因此,将您的路径显示在此处/your_project_path/tmp/pids/server.pid
并删除此server.pid文件:
rm /your_project_path/tmp/pids/server.pid
或如果您的服务器已分离,请遵循以下准则:
如果您使用命令“ rails -d”分离了rails服务器,
使用命令删除Rails分离服务器
ps -aef | grep rails
或通过此命令
sudo lsof -wni tcp:3000
然后
kill -9 pID
或使用此命令
通过运行该程序的端口名称查找并杀死进程。对于3000,请替换运行程序的端口。
sudo kill -9 $(lsof -i :3000 -t)
旧解决方案:
rails s -p 4000 -P tmp/pids/server2.pid
您还可以在此文章中找到更多选项, Rails Update到3.2.11会中断运行多个服务器
sudo kill -9 $(lsof -i :3000 -t)
kill -9 $(lsof -i tcp:3000 -t)
-t
选项),然后通过所检索的PID 终止进程。
当您终止服务器进程并且pid文件未更新时,会发生这种情况。最好的解决方案是删除文件Server.pid。
使用命令
rm <path to file Server.pid>
gem install shutup
然后进入rails项目的当前文件夹并运行
shutup
#这将杀死当前正在运行的Rails进程
您可以随时使用命令“ shutup”
求职者:我是这颗宝石的创造者
注意:如果您使用的是rvm,请在全局安装gem
rvm @global do gem install shutup
您可能通过以下方式暂停了服务器: ^Z
。
vim C:/Sites/folder/Pids/Server.pids
输出的四个数字是进程ID。
您应该kill -9 processid
用vim(或其他编辑器)输出的4个数字替换进程ID。
如果您使用的是Windows,则只需执行一个步骤即可 “重新启动Rails” ,然后再次键入 “ rails s” 。
我只是遇到了这个问题,并尝试将其设置为其他端口,但是我唯一需要做的就是删除我的主机[app_directory]/tmp/pids/server.pid
,一切都很好。