Node Expressjs 里,创建子进程( child_process.fork)报错

2015-09-02 16:04:22 +08:00
 cdxem713
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 );`
4449 次点击
所在节点    Node.js
6 条回复
Biwood
2015-09-02 16:22:25 +08:00
EADDRINUSE: 给定的地址已经被使用

不需要说什么了
cdxem713
2015-09-02 16:46:48 +08:00
@Biwood 我知道是端口被占用,但是不知道为什么会被占用
用 cp.exec ('node '+crawlerPath )没有问题,也可以正确执行,但是 fork 不行,如果需要设置端口,具体是什么参数呢?我在文档里面没有找到详细的说明
cdxem713
2015-09-02 16:58:52 +08:00
@Biwood 好吧。。。刚才发现问题了,我在 WebStorm 里面调试的时候就会报错,正常运行的时候就正常了,估计还是 debug 的原因吧
Tankpt
2016-05-09 12:33:00 +08:00
您好。。问下这个问题你后来是怎么解决的
cdxem713
2016-05-10 16:12:41 +08:00
@Tankpt 额,是 webstorm debug 的问题,好像和代码没啥关系。直接 run 不会报错
Tankpt
2016-05-10 20:55:35 +08:00
@cdxem713 嗯。。。我这边的话是用了公司的一个框架的问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/217870

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX