Rails - 服务器已经在运行

Posted

技术标签:

【中文标题】Rails - 服务器已经在运行【英文标题】:Rails - A server is already running 【发布时间】:2016-07-30 19:46:12 【问题描述】:

当我想在终端启动服务器时遇到问题,我执行rail srails 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

Rails 应用程序在 localhost 上运行,但每当我检查 Web 浏览器时都会被拒绝连接

Rails 最好的安全会话存储?

Heroku Rails JS管道问题