2013-01-18 72 views
13

是否有某種方法可以使用Node.js來檢查系統上的任意PID是否正在運行或活着?假設Node.js腳本具有適當的權限來讀取/proc或Windows等效項。如何使用Node.js檢查任意PID是否正在運行?

這可能是因爲存在同步完成:

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

或異步:

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

請注意,我希望能找到一個解決方案,與任意一個系統的工作原理PID,只是一個正在運行的Node.js進程的PID。

回答

17

我還需要檢查在項目中運行pid的情況。我把this answer使用kill -0 <PID>和一個叫模塊包裹起來的運行https://npmjs.org/package/is-running

npm install is-running

+0

+1不會產生殺死孩子。只是一個問題,爲什麼你需要在你的'index.js'模塊exec? – hexacyanide

+0

exec從以前的版本中遺留下來。它應該消失 – Noah

+2

它在Windows上工作嗎? – Ujeenator

-1

我不是這裏的專家,但是你可以不使用命令行工具產生子進程來檢查狀態嗎?

相關問題