从vscode调试进程执行child_process.fork
无法运行并返回退出代码12.从终端会话运行相同的测试成功。
import { expect } from 'chai';
import { fork } from 'child_process';
import path from 'path';
describe('Child Process Fork', () => {
it('Successfully Forks A Simple Process', (done) => {
const child = fork(path.join(__dirname, 'SimplyExit.js'), [], { stdio: 'pipe' });
child.on('exit', (data) => {
expect(data).to.equal(0);
done();
});
});
});
process.exit(0);
答案 0 :(得分:2)
如果您未手动指定其他child_process.fork
端口或删除,则会从inspect-brk
选项激活的父节点进程执行inspect-brk
将导致此错误选项。
Here's the line of code in the node.js source that causes this to happen
将execArgv: []
添加到fork选项,以防止子进程继承inspect-brk
选项。这是完整的工作代码。
import { expect } from 'chai';
import { fork } from 'child_process';
import path from 'path';
describe('Child Process Fork', () => {
it('Successfully Forks A Simple Process', (done) => {
const child = fork(path.join(__dirname, 'SimplyExit.js'), [], { stdio: 'pipe', execArgv: [] });
child.on('exit', (data) => {
expect(data).to.equal(0);
done();
});
});
});