[英]nodejs: do not wait spawned process
我正在使用child_process.spawn
来运行一些应用程序,我想在这个应用程序启动后执行一些操作。 但是spawn
阻塞了主进程
const spawnAsync = Promise.promisify(require('child_process').spawn);
console.log('BEFORE');
await spawnAsync('../node_modules/.bin/some-app', ['-p', '3333'], {
detached: true
});
console.log('AFTER');
在我的控制台中,我看到只有在3333
端口上终止进程后才会记录BEFORE
和AFTER
。 我不想等待生成的进程,我想在spawnSync
调用后执行一些操作。
查看spawn文档,你应该那样使用它
const childProcess = require('child_process');
const newProcessDescriptor = childProcess.spawn(
'../node_modules/.bin/some-app',
['-p', '3333'],
{ detached: true }
);
newProcessDescriptor.on('error', (error) => {
console.log(`child process creating error with error ${error}`);
});
newProcessDescriptor.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.