gpt4 book ai didi

node.js - Node : do not wait spawned process

转载 作者:太空宇宙 更新时间:2023-11-03 22:09:00 25 4
gpt4 key购买 nike

我正在使用 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 端口上终止进程后才会记录 BEFOREAFTER 。我不想等待生成的进程,我想在 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}`);
});

关于node.js - Node : do not wait spawned process,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48080879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com