我怎样才能听unref&x27;是否在Node.js中生成子进程?

我怎样才能听unref&x27;是否在Node.js中生成子进程?,node.js,child-process,Node.js,Child Process,示例1:子进程确实已分离,脚本立即退出 const cp=require('child_process'); const bash=cp.spawn('/bin/bash',['-c','sleep 1&&echo Hello&&sleep 3']{ stdio:'忽略', 是的, }); bash.unref(); 示例2:我们没有忽略stdio,但是现在子进程并没有真正分离,因为我们等待了4秒钟 const cp = require('child_process'); const bash

示例1:子进程确实已分离,脚本立即退出

const cp=require('child_process');
const bash=cp.spawn('/bin/bash',['-c','sleep 1&&echo Hello&&sleep 3']{
stdio:'忽略',
是的,
});
bash.unref();
示例2:我们没有忽略
stdio
,但是现在子进程并没有真正分离,因为我们等待了4秒钟

const cp = require('child_process');
const bash = cp.spawn('/bin/bash', ['-c', 'sleep 1 && echo Hello && sleep 3'], {
  detached: true,
});

bash.stdout.on('data', (e) => {
  if (e.toString('utf8').trim() === 'Hello') {
    console.log('Got message, can unsubscribe now');
    bash.unref();
  }
});
Node.js中是否有一些有效的方法来实现示例1中的行为和示例2中的逻辑(通过侦听派生进程的stdout)