如何停止在端口 3000 上运行 rails 服务器的 nohup 进程

Posted

技术标签:

【中文标题】如何停止在端口 3000 上运行 rails 服务器的 nohup 进程【英文标题】:How to stop a nohup process running rails server on port 3000 【发布时间】:2019-05-26 04:45:09 【问题描述】:

我已经使用以下命令启动了一个 Rails 服务器 puma。

 nohup rails server &

它的输出是 [2] 22481 以及以下内容:

nohup: ignoring input and appending output to 'nohup.out'

但是现在我忘记了返回的进程id,那么如何检测进程id以便在aws上删除进程。

【问题讨论】:

【参考方案1】:

要杀死端口 3000(webrick 服务器默认端口)上的任何内容,请键入以下命令以获取 3000 端口的进程 ID:

$ lsof -wni tcp:3000

然后,使用进程ID(PID)杀死进程:

$ kill -9 PID

【讨论】:

【参考方案2】:

Rails 服务器进程 pid 可以在这个目录中找到: -> tmp/pids/server.pid

那么,

杀死 -9 pid

【讨论】:

【参考方案3】:

命令

ps -ef

返回进程的完整输出列表,其中列表项之一为:

ec2-user 12992     1  0 Dec20 ?        00:00:57 puma 3.12.0 (tcp://0.0.0.0:3000) [tukatech_garmentstore_live]

所以强制终止进程。

kill -9 12992

完成任务

【讨论】:

【参考方案4】:
ps aux|grep 3000

这将为您提供在端口 3000 上运行的 Rails 服务器 ID

【讨论】:

以上是关于如何停止在端口 3000 上运行 rails 服务器的 nohup 进程的主要内容,如果未能解决你的问题,请参考以下文章

Socket.io 连接网址?

如何在 Rails 中停止守护程序服务器?

在本地运行 React/Rails 应用程序

设置 Rails 应用程序以避免使用 CORS

Vagrant上的Rails 4.2服务器端口转发不起作用

无法连接 localhost:3000 ruby​​ on rails in vagrant