Foreman不会杀死进程

Oks*_*ana 9 ruby ruby-on-rails foreman

对于开始应用我使用Foreman.Foreman从Procfile开始流程

web: bundle exec rails server thin -p $PORT
worker: bundle exec rake environment resque:work QUEUE=send_mail
api: bundle exec rails server thin -p $PORT
Run Code Online (Sandbox Code Playgroud)

如果我在控制台中按控制+ C我操作工头,工头结束但运行过程没有被杀死.当工头被杀时,是否有可能杀死领班跑的过程.

ftr*_*ers 8

假设使用的端口为4567,然后执行以下操作:

lsof -i :4567
Run Code Online (Sandbox Code Playgroud)

这给了你进程的pid,比如34564,然后用它来杀死它

kill -9 34564
Run Code Online (Sandbox Code Playgroud)

如果您在Windows上,请安装cygwin以获取lsofkill命令.


sim*_*nke 1

只要存在打开的连接,Thin 就不会终止。Faye 使用长轮询或 WebSocket(持久连接)。所以最终的结果是 Thin 正在等待你的 Faye 连接关闭。

尝试关闭 Thin 安装的信号处理程序,应该没问题。