2011-08-27 13 views
5

タイトルがかなりまとまっています。私はzotonicサイトを-heartで実行していますが、それは多くのCPU時間を使い、erlangシェルを取得できません。それで、VMを殺す方法はありますか? killall heartkillall beam.smpは機能しません。-eartを実行しているときにerlang VMを強制終了する方法はありますか?

私はこの質問を発見しました: Stop Erlang Daemon しかし、実際には私の質問には答えません。

+3

私の経験では、まず最初にハートを殺してからビームやビームを殺すというトリックがあります。 –

+0

@スティーブ私はそれを成功させることなく試しました。私は以来、シェルを手に入れることができないという問題を発見しました。これは、http://groups.google.com/group/zotonic-users/browse_thread/thread/b3971b574e405bcc?pli=1です。だから、私はそれが根本的な問題を解決することでこれを解決しました:)。それでも、私はこれを行う方法が文書化されるべきだと思います(どこか)。 –

+1

1つのコマンドラインで心臓を撃ってビームします。いつも私のために働く。私たち(Zotonicチーム)は、非心臓ソリューションを検討しています。 –

答えて

2

ちょうど使用:

init:stop(). 

それは心のプロセスを強制終了し、すべてのアプリケーションになります。

+1

しかし、彼はErlangシェルを手に入れることはできないと言っています。なぜなら、このプロセスはあまりにも多くのCPUを使用しているからです。 –

+0

ああ、私は 'エルランのシェルを得ることができない'ということに注意を払わなかった... – Isac

2

私はこの同じ問題を抱えていました.... そして、それを殺すのは本当に難しかったです。 私は通常の経路を試してみることができませんでした。 は、だから私はこのハックをした:

まずだからPIDは、そのプロセスを作成したプログラム931

次であるのは、PID

sudo netstat -tulpn |grep 8080 
tcp  0  0 0.0.0.0:8080   0.0.0.0:*    LISTEN  931/beam.smp  

を取得してみましょうか?

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 

だから、プログラムはこれだけ

mv beam.smp old_beam.smp 

それを移動そして今、あなたはそれ

kill -9 931 

を殺し、私は最終的にできた.../binに/ beam.smp ですそれを殺す:-)

これは、実際にハックする必要がある信頼性を保証する証拠ですサービスを停止する。

ps:私はもともとヨーイング-I [pid] --stopを試しましたが、どちらもうまくいきませんでした。

関連する問題