1 | 'use strict'
|
2 |
|
3 | const childProcess = require('child_process')
|
4 | , childModule = require.resolve('./child/index')
|
5 |
|
6 |
|
7 | function fork (forkModule) {
|
8 |
|
9 | let filteredArgs = process.execArgv.filter(function (v) {
|
10 | return !(/^--(debug|inspect)/).test(v)
|
11 | })
|
12 | , child = childProcess.fork(childModule, process.argv, {
|
13 | execArgv: filteredArgs
|
14 | , env: process.env
|
15 | , cwd: process.cwd()
|
16 | })
|
17 |
|
18 | child.on('error', function() {
|
19 |
|
20 | })
|
21 |
|
22 | child.send({ module: forkModule })
|
23 |
|
24 |
|
25 | return {
|
26 | send : child.send.bind(child)
|
27 | , child : child
|
28 | }
|
29 | }
|
30 |
|
31 |
|
32 | module.exports = fork
|