Tha*_*han 4 javascript child-process node.js
我用来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;
Run Code Online (Sandbox Code Playgroud)
在运行时,我想使用 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';
}
}
Run Code Online (Sandbox Code Playgroud)
根据有关process.kill(pid[, signal])的 Nodejs 文档,我可以使用它process.kill()来检查特定参数值为 0 的进程是否存在signal(不是作为函数名称杀死进程)。
我复印了一份文件说:
作为一种特殊情况,信号 0 可用于测试进程是否存在
| 归档时间: |
|
| 查看次数: |
4305 次 |
| 最近记录: |