有没有办法,如何在节点js中暂停进程?
const { spawn } = require('child_process');
const process = spawn("run.cmd");
process.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
process.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
process.on('close', (code) => {
});我想给这样的人打电话:process.pause(),process.continue()。
或者一些使用cmd的系统调用?
我用的是windows。
谢谢你的帮助。
发布于 2019-07-30 09:46:23
您可以找到进程的PID,并使用linux命令按PID暂停/恢复进程。
您可以将代码更改为process = spawn(cmd & echo $! > txt)。
它会将您的命令进程PID保存到txt,然后您可以使用fs读取PID。
现在有了PID,运行exec()暂停进程kill -STOP <PID>或恢复已停止的命令kill -CONT <PID>。
这两个都是unix命令,应该可以正常工作。
发布于 2020-11-24 05:12:38
我特别制作了一个库来暂停/恢复Windows上的Node.js进程,ntsuspend。
const { spawn } = require('child_process');
const ntsuspend = require('ntsuspend');
const process = spawn("run.cmd");
ntsuspend.suspend(process.pid);
ntsuspend.resume(process.pid);如果您正在使用Linux或MacOS
const { spawn } = require('child_process');
const ntsuspend = require('ntsuspend');
const process = spawn("run.cmd");
process.kill('SIGSTOP');
process.kill('SIGCONT');https://stackoverflow.com/questions/45319145
复制相似问题