web-dev-qa-db-ja.com

Node.jsを使用して任意のPIDが実行されているかどうかを確認するにはどうすればよいですか?

Node.jsを使用して、システム上で任意のPIDが実行されているか生きているかを確認する方法はありますか? Node.jsスクリプトには、/procまたは同等のWindowsを読み取るための適切な権限があると想定します。

これは、同期的に行うことができます。

if (isAlive(pid)) { //do stuff }

または非同期的に:

getProcessStatus(pid, function(status) {
    if (status === "alive") { //do stuff }
}

任意のシステムPIDで動作するこれに対する解決策を見つけたいと思っていることに注意してくださいnot実行中のNode.jsプロセスのPIDだけです。

18
Zac B

プロジェクトでpidが実行されているかどうかも確認する必要がありました。 kill -0 <PID>を使用する この回答 を取得し、is-runningというモジュールにラップしました。 -) https://npmjs.org/package/is-running

npm install is-running

17
Noah

Process.kill(pid、0)を呼び出して、try/catchでラップできるようです。

http://nodejs.org/api/process.html#process_process_kill_pid_signal -"ターゲットが存在しない場合はエラーがスローされます。特別な場合として、シグナル0を使用してテストできます。プロセスの存在。」

16
Shahar