gpt4 book ai didi

node.js - 如何使用 Node.js 检查任意 PID 是否正在运行?

转载 作者:IT老高 更新时间:2023-10-28 22:59:29 28 4
gpt4 key购买 nike

是否有某种方法可以使用 Node.js 检查系统上的任意 PID 是否正在运行或处于事件状态?假设 Node.js 脚本具有读取 /proc 或 Windows 等效文件的适当权限。

这可以同步完成:

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

或异步:

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

请注意,我希望找到一个适用于任意系统 PID 的解决方案,而不是只是正在运行的 Node.js 进程的 PID。

最佳答案

您可以调用 process.kill(pid, 0) 并将其包装在 try/catch 中。

http://nodejs.org/api/process.html#process_process_kill_pid_signal -

"Will throw an error if target does not exist, and as a special case, a signal of 0 can be used to test for the existence of a process."

例子:

function pidIsRunning(pid) {
try {
process.kill(pid, 0);
return true;
} catch(e) {
return false;
}
}

关于node.js - 如何使用 Node.js 检查任意 PID 是否正在运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14390930/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com