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, { execArgv: filteredArgs }, {
|
13 | env: process.env
|
14 | , cwd: process.cwd()
|
15 | })
|
16 |
|
17 | child.send({ module: forkModule })
|
18 |
|
19 |
|
20 | return {
|
21 | send : function (data) {
|
22 | try {
|
23 | child.send(data)
|
24 | } catch (e) {
|
25 |
|
26 | }
|
27 | }
|
28 | , child : child
|
29 | }
|
30 | }
|
31 |
|
32 |
|
33 | module.exports = fork
|