Rails - 服务器已经在运行
Posted
技术标签:
【中文标题】Rails - 服务器已经在运行【英文标题】:Rails - A server is already running 【发布时间】:2016-07-30 19:46:12 【问题描述】:当我想在终端启动服务器时遇到问题,我执行rail s
或rails server
并且出现错误A server is already running. Check /Users/baptiste/code/BaptisteB/my-app/tmp/pids/server.pid.
这是什么意思?为什么它存在?
当我检查我的localhost:3000
时,我删除了它。没有什么。我必须注销我的笔记本电脑并打开它才能开始工作。
我怎样才能阻止这个错误?也许我可以用命令摧毁它。感谢您的帮助。
【问题讨论】:
【参考方案1】:尝试在终端上运行以下命令,您将获得 pid(进程 ID)
lsof -wni tcp:3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ruby 21309 user 11u IPv4 93186 0t0 TCP *:3000 (LISTEN)
然后使用杀死你的 ruby 进程
kill -9 <PID>
通过rails s
再次启动您的服务器
希望对你有帮助!
【讨论】:
kill -9 $(lsof -i tcp:3001 -t)【参考方案2】:这意味着你已经启动了一个rails服务器。可能发生的情况是您启动了一个 rails 服务器并在没有停止服务器的情况下关闭了该终端窗口。打开终端窗口并运行
ps aux | grep rails
这应该会给你一个以 rails 的名字运行的所有进程的列表。然后您可以运行下面的命令来杀死所有这些或获取 pid(进程 ID)并使用第二个命令选择性地终止它们。如果你在wi
killall -9 rails
kill pid
【讨论】:
【参考方案3】:简单:
$ cd # in the project folder
$ gem install shutup
$ shutup
如果使用 rvm 做:
$ cd # in the project folder
$ rvm @global do gem install shutup
$ shutup
【讨论】:
你在笑我吗?以上是关于Rails - 服务器已经在运行的主要内容,如果未能解决你的问题,请参考以下文章
如何停止在端口 3000 上运行 rails 服务器的 nohup 进程
Rails 服务器正在运行,但无法连接到 localhost:3000
在 Heroku 上使用 Rails API 部署 Create-React-App