Visual Studio代码扩展:child_process.fork不起作用

时间:2016-06-15 16:48:22

标签: visual-studio-code

我正在研究Visual Studio Code的扩展,我需要分叉一个子进程。该过程似乎永远不会退出,发送消息,甚至无法运行(我已尝试从子进程编写文件以验证它是否正在运行)。

这是我分支子进程的代码:

let process = require('child_process').fork('./child', [], {});
process.on('message', message => console.log('message: ' + message)); // handler is never called
process.on('exit', code => console.log('exited with code ' + code)); // handler is never called

这是child.js:

require('fs').writeFileSync(__dirname + '/hello.txt', 'Hello', 'utf8'); // file never gets written
process.send('hello');

应该注意的是,尝试使用spawn('node', [__dirname + '/child.js'], {})运行相同的脚本可以正常工作。

在调试实例中测试一下。我做错了什么?

1 个答案:

答案 0 :(得分:0)

我认为./child已解析为path.join(process.cwd, './child')process.cwd不等于__dirname