这个标题很好地概括了这一点。我有一个运行在-heart上的zotonic站点,它占用了大量的cpu时间,而且我无法得到一个erlang shell。那么,有没有办法杀死虚拟机呢?killall heart和killall beam.smp都不工作了。
我发现了这个问题:Stop Erlang Daemon,但它并没有真正回答我的问题。
发布于 2011-08-30 02:14:56
只需使用:
init:stop().它将杀死核心进程和所有应用程序。
发布于 2013-02-07 07:27:45
我也有同样的问题...要杀死它真的很难。我尝试了正常的路径,但做不到。所以我做了这件事:
首先,让我们获取PID
sudo netstat -tulpn |grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 931/beam.smp 所以PID是931。
接下来是哪个程序创建了这个进程?
lsof -p 931 | grep txt
lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/agarcia/.gvfs
Output information may be incomplete.
beam.smp 931 yaws txt REG 8,1 2053256 22793377 /usr/lib/erlang/erts-5.8.5/bin/beam.smp所以程序是.../bin/beam.smp所以只需移动它
mv beam.smp old_beam.smp 现在你杀了它
kill -9 931我终于能够杀了它:-)
这证明了erlangs的可靠性,人们实际上需要破解它才能关闭服务。
ps:我最初尝试yaws -I pid --停止,但它也不起作用。
发布于 2018-07-05 12:40:16
如果你不介意杀死你机器上的每一个虚拟机:
ps aux | grep -e heart -e epmd | grep -v grep | tr -s ' ' | cut -d ' ' -f 2 | xargs kill -9VM和heart似乎相互监视。如果VM处于崩溃/恢复循环中,您可能需要快速运行此命令几次,以杀死所有已死的东西。
https://stackoverflow.com/questions/7217892
复制相似问题