2013-01-18 76 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

我不是这里的专家,但是你可以不使用命令行工具产生子进程来检查状态吗?

相关问题