Node.jsスクリプトを実行するのにforever
パッケージを使用しています。 (Webサーバーではありません)。しかし、それのために、私はメモリリークを持ち、さらにはすべてのプロセスを停止した後、私の記憶がまだ取られている:永遠にせずにローカルで実行したときにノードの永久(npmパッケージ)メモリリーク
[email protected]:~# forever stopall
info: No forever processes running
[email protected]:~# forever list
info: No forever processes running
[email protected]:~# free -lm
total used free shared buffers cached
Mem: 11721 6900 4821 5 188 1242
Low: 11721 6900 4821
High: 0 0 0
-/+ buffers/cache: 5469 6252
Swap: 0 0 0
も言及し、スクリプトからのメモリリークはありません。私はUbuntuサーバー上で実行します。私のスクリプトは、それが何をしているかを完了したときに
[email protected]:~# free -lm
total used free shared buffers cached
Mem: 11721 1259 10462 5 64 288
Low: 11721 1259 10462
High: 0 0 0
-/+ buffers/cache: 905 10816
Swap: 0 0 0
は、私もそれを言及したいと思います(と、それは最終的にはありません):
[email protected]:~# reboot
Broadcast message from [email protected]
(/dev/pts/0) at 3:19 ...
The system is going down for reboot NOW!
私のRAMは再び自由のようになります。そして、私は今、サーバーを再起動するかどう私はdb.close
とprocess.exit
を持っており、すべてがスクリプトの側から殺されていることを確認しています。しかし、それ以降もRAMは取り除かれます。今、私は永遠にそれが殺された後にスクリプトを実行することに気付いています。だから私の質問は次のとおりです。
- 終了したらもう一度スクリプトを実行しないように永遠に教えてください。
- 私はそれを停止した後にRAMを使用しないように、永久に正しく停止するにはどうすればよいですか?
私はこのスクリプトを永久に使用しているのは、スクリプトの実行に時間がかかり、SSHセッションが終了するため、通常の方法で実行したNodeスクリプトだからです。
あなたはしかし、私は本当に手動のプロセスを殺すためにしたくないあなたのRAMとCPUが利用場所を確認した後、あなたがそのプロセス –
@ArifKhanを殺すかもしれ 'top'と' htop'コマンドを使用したいことがあります。私はパッケージが永遠にそれを使用しないものを殺すための方法を探しています。 – Kunok