gpt4 book ai didi

javascript - Nodejs如何独立检查PID正在运行的进程?

转载 作者:搜寻专家 更新时间:2023-11-01 00:34:37 28 4
gpt4 key购买 nike

我正在使用 child_process 生成一个子进程并从中获取返回的 PID。我需要通过它的 PID 来管理这个子进程。下面是我的代码:

const childProcess = require('child_process');

let options = ['/c', arg1, arg2];

const myProcess = childProcess.spawn('cmd.exe', options, {
detached: false,
shell: false
});

let pid = myProcess.pid;

在运行时,我想使用 PID 来独立于外部验证进程是否正在运行(完成/终止)。我想知道如何执行此操作以及在 Nodejs 中进行此验证的最佳方法是什么?我在 Windows 环境中运行应用程序。

感谢任何建议,谢谢。

最佳答案

根据is-running的建议,我找到了解决方案模块。但我不想为此目的将新模块安装到我的项目中,所以我创建了自己的 checkRunning() 函数,如下所示:

// Return true if process following pid is running
checkRunning(pid) {
try {
return process.kill(pid, 0);
} catch (error) {
console.error(error);
return error.code === 'EPERM';
}
}

遵循有关 process.kill(pid[, signal]) 的 Nodejs 文档,我可以使用 process.kill() 检查具有特定 signal 参数的进程是否存在值为 0(不是杀死进程作为函数名称)。

我复印一份文件说:

As a special case, a signal of 0 can be used to test for the existence of a process

关于javascript - Nodejs如何独立检查PID正在运行的进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57285590/

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