在Heroku上杀死被遗弃的进程

时间:2011-10-12 16:03:45

标签: heroku

我以一种不那么优雅的方式杀死了一个IRB提示(以heroku run irb开头),现在我有了一个我似乎无法杀死的僵尸进程:

Process       State               Command
------------  ------------------  ------------------------------
run.3         up for 2h           irb -r ./init.rb
web.1         up for 0s           thin -p $PORT -e $RACK_ENV -R $HER..

我试过了:

  • heroku restart
  • heroku ps:scale run=0
  • heroku ps:restart run.3

任何人都知道我怎么强行戒掉它?

4 个答案:

答案 0 :(得分:122)

我注意到几天前在Heroku命令行客户端添加了一个新的ps:stop命令:
https://github.com/heroku/heroku/commit/a6d9eb7f314bf2c5f162a508e8d764286fb577bb

我不确定这个更改是否会进入版本2.9.0但是值得一试。

<强>更新

现在位于Heroku Toolbelt。跑吧:

heroku ps:stop <process id from heroku ps>

示例:

heroku ps:stop run.8729

答案 1 :(得分:11)

谢谢詹姆斯!!我需要先更新我的Heroku客户端,它就像一个魅力。

$ sudo gem install heroku

$ heroku ps #to view processes

$ heroku stop <process name here>

答案 2 :(得分:0)

编辑:他们已经解决了这个问题

Heroku没有办法杀死废弃的run.x进程。

但它将在24小时后自动被杀死。

答案 3 :(得分:0)

如果其他人正在努力使用以下方法进行杀死:

heroku run ps:stop run.789

按ID杀死对我有用:

heroku ps:kill 61ff0687-eaf4-4299-9c65-f0b22af7ec67

我使用平台api列表dynos获得了ID-https://devcenter.heroku.com/articles/platform-api-reference#dyno-list

为被遗弃的独立的一次性工作。