首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将子进程发送到与父进程不同的调试端口上。

如何将子进程发送到与父进程不同的调试端口上。
EN

Stack Overflow用户
提问于 2013-10-08 15:44:20
回答 2查看 7.1K关注 0票数 8

我试图使用child_process.fork生成一个进程,该进程破坏并侦听V8调试协议。

但是,我无法让分叉进程侦听与父进程不同的端口。假设父进程侦听6000,子进程也尝试侦听端口6000

在端口6000上打开套接字失败,在重新尝试之前等待1000 ms

这是我的密码:

代码语言:javascript
复制
// `test.js`, invoked as `node --debug-brk=6000 test.js`

var nodeModule, args, env, child

nodeModule = path.normalize(path.join(__dirname, '..', 'app.js'))

args = [
    '--debug-brk=6001'
  , '127.0.0.1'
  , 3030
  , 'api-testing'
]

env = { 'DB_URI': 'mongodb://localhost/test' }

child = require('child_process')
  .fork(nodeModule, args, {env: env})
  .on('message', callback)

如您所见,我正在尝试让分叉进程侦听端口6001,但是子进程尝试侦听父进程正在使用的端口6000

如何让子进程侦听端口、6001**,或其他空闲端口?**

在这个问题上有几条线索。例如:

然而:

  • 这些线程处理分叉的cluster变体。
  • 请参考execArgv,它在process中出现,但对于cluster仍然是无文档的。
EN

回答 2

Stack Overflow用户

发布于 2013-10-08 16:01:27

很简单的答案,在this comment上找到,并在Freenode上的#Node.js的帮助下找到:

只需将--debug-brk移动到options param的execArgv键到fork

代码语言:javascript
复制
// Excerpt:

args = [
   '127.0.0.1'
  , 3030
  , 'api-testing'
]

env = { 'DB_URI': 'mongodb://localhost/test' }

child = fork(nodeModule, args, {
    env: env
  , execArgv: ['--debug-brk=6001']
})
  .on('message', this.callback)

execArgv是传递给节点进程的参数数组。argv是传递给主模块的集合。child_process.fork有一个用于argv的专用参数,但是execArgv必须放在opts param中。这是可行的,在儿童进程中,我们有:

代码语言:javascript
复制
> process.execArgv 
["--debug-brk=6001"]
> process.argv
["/usr/local/Cellar/node/0.10.13/bin/node" "/Users/dmitry/dev/linksmotif/app.js", "127.0.0.1", "3030", "api-testing"] 

中的概述

Node.js一贯将execArgvargv视为单独的值集。

票数 10
EN

Stack Overflow用户

发布于 2015-08-31 16:45:49

在分叉之前删除旧的debug-brk参数:

代码语言:javascript
复制
process.execArgv = process.execArgv.filter(function(o){ 
    var x = "--debug-brk"; 
    return o.substring(0, x.length) !== x
});

再加上一个新的:

代码语言:javascript
复制
process.execArgv.push("--debug-brk=9999");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19252310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档