我正在尝试使用child_process.fork
生成一个中断并侦听 V8 调试协议的进程。
但是,我无法让分叉进程监听与父进程不同的端口。假设父进程监听6000
,子进程也尝试监听端口6000
:
在端口 6000 上打开套接字失败,等待 1000 毫秒后重试
这是我的代码:
// `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
父进程正在使用的端口。
如何让子进程监听 port6001
或其他一些空闲端口?
关于这个主题有几个线程。例如:
然而:
- 这些线程处理
cluster
分叉的变体 - 请参阅
execArgv
,这似乎是无证的process
并且仍然是无证的cluster
。