一、如果是让进程暂停的话,可以向进程发送 SIGSTOP 信号,发送 SIGCONT 信号可以恢复进程。node.js:process.kill([pid], "SIGSTOP"); process.kill([pid], "SIGCONT");unix system (windows 暂未测试):kill -STOP [pid] kill -CONT [pid]二、Node.js 新的 Atomic.wait API 也可以做到编程控制。该方法会监听一个 Int32Array 对象的给定下标下的值,若值未发生改变,则一直等待(阻塞 event loop),直到发生超时(由 ms 参数决定)。可以在主进程中操作这块共享数据,然后为子进程解除休眠锁定。const nil = new Int32Array(new SharedArrayBuffer(4)); const array = new Array(100000).fill(0); setInterval(() => { console.log(1); }, 1e3); Atomics.wait(nil, 0, 0, Number(600e3));
一、如果是让进程暂停的话,可以向进程发送
SIGSTOP
信号,发送SIGCONT
信号可以恢复进程。node.js:
unix system (windows 暂未测试):
二、Node.js 新的 Atomic.wait API 也可以做到编程控制。该方法会监听一个 Int32Array 对象的给定下标下的值,若值未发生改变,则一直等待(阻塞 event loop),直到发生超时(由 ms 参数决定)。可以在主进程中操作这块共享数据,然后为子进程解除休眠锁定。