Node Expressjs 里面,用子进程( child_process.fork )执行 js 就会报错,错误信息如下:
Error: listen EADDRINUSE
at exports._errnoException (util.js:746:11 )
at Agent.Server._listen2 (net.js:1156:14 )
at listen (net.js:1182:10 )
at Agent.Server.listen (net.js:1267:5 )
at Object.start (_debugger_agent.js:20:9 )
at startup (node.js:86:9 )
at node.js:814:3
POST: process.send ('123');
var code = req.body.toString ('utf8');
var crawlerPath = __dirname+'/some/path/test';
fs.writeFileSync (crawlerPath+'.js',code,'utf8');
var crawlerProcess = cp.fork (crawlerPath );
1
Biwood 2015-09-02 16:22:25 +08:00
EADDRINUSE: 给定的地址已经被使用
不需要说什么了 |
2
cdxem713 OP @Biwood 我知道是端口被占用,但是不知道为什么会被占用
用 cp.exec ('node '+crawlerPath )没有问题,也可以正确执行,但是 fork 不行,如果需要设置端口,具体是什么参数呢?我在文档里面没有找到详细的说明 |
3
cdxem713 OP @Biwood 好吧。。。刚才发现问题了,我在 WebStorm 里面调试的时候就会报错,正常运行的时候就正常了,估计还是 debug 的原因吧
|
4
Tankpt 2016-05-09 12:33:00 +08:00
您好。。问下这个问题你后来是怎么解决的
|