2015-04-03 118 views
2

我已经在我的域中安装并运行redmine。出了点问题,我不能访问redmine管理面板。我试图重置密码,也做了一些谷歌和数据库中更改密码。但没有运气仍然无法登录。然后我删除了所有的应用程序文件,但它仍然像以前一样跑..如何停止rails服务器(redmine)?

这是我用来运行管理平台服务器的代码

bundle exec ruby script/rails server webrick -e -s production 

现在我想要停止或重新启动,但没有什么工作。

有什么办法可以停止服务器。

在此先感谢。

+0

CTRL + C不起作用? – nathanvda 2015-04-03 13:19:18

+0

@nathanvda它在在线cPanel中运行。所以ctrl + c不起作用。 – krozero 2015-04-03 18:08:01

回答

2

杀死进程

kill -INT $(cat tmp/pids/server.pid) 

其清洁编写rake任务要做到这一点:

task :stopserver do 
    pid_file = 'tmp/pids/server.pid' 
    if File.file?(pid_file) 
    print "Shutting down WEBrick\n" 
    pid = File.read(pid_file).to_i 
    Process.kill "INT", pid 
    end 
    File.file?(pid_file) && File.delete(pid_file) 
end 
+0

我得到这个错误 “cat:tmp/pids/server.pid:没有这样的文件或目录 kill:usage:kill [-s specpec | -n signum | -sigspec] pid | jobspec ... or kill - l [sigspec] “ 实际上,应用程序在共享主机上运行,​​我没有sudo auth。上次我联系托管支持时,他们告诉我添加“-s”或类似的东西让它在后台运行。 – krozero 2015-04-03 18:05:56

+0

你可以试试'killall -9 rails'吗? – shivam 2015-04-03 18:10:12

+0

在killall -9轨道上得到了“导轨:没有过程中死亡” – krozero 2015-04-03 18:20:56

1

删除文件tmp/pids/server.pid),然后重新启动服务器。

+0

我没有sudo访问权限来删除该文件,我使用共享主机。 – krozero 2015-04-03 18:09:03

1

通常你会在没有-d选项的情况下点击Ctrl-C来停止webrick。 Ctrl-C使INT信号,所以你可以尝试kill -INT <pid>停止webrick开始-d选项。

如果不停止,您可以尝试用kill -9 <pid>发送一个KILL信号,这不是一个适当的干净关机,但似乎是阻止它的唯一方法。这不是'最佳做法',但它是我找到的唯一方法。

+0

我该如何获得应用服务器的pid?目前它运行在3000端口 – krozero 2015-04-03 18:10:19

+0

@ krozero你可以试试lsof -i:3000 – F2K 2015-04-04 09:24:40

+0

它什么都不返回。这是什么意思,没有运行在端口:3000?但我的应用程序仍在运行:3000 – krozero 2015-04-04 13:47:57

0
$ killall -9 ruby 

该命令杀死西港岛线在系统上红宝石的所有正在运行的实例,可以再次重新启动服务器乌尔