1 | if (require.main !== module) {
|
2 | throw new Error('This file should not be required');
|
3 | }
|
4 |
|
5 | var childProcess = require('child_process');
|
6 | var fs = require('fs');
|
7 |
|
8 | var params = JSON.parse(process.argv[2]);
|
9 |
|
10 | var cmd = params.command;
|
11 | var execOptions = params.execOptions;
|
12 | var pipe = params.pipe;
|
13 | var stdoutFile = params.stdoutFile;
|
14 | var stderrFile = params.stderrFile;
|
15 |
|
16 | var c = childProcess.exec(cmd, execOptions, function (err) {
|
17 | if (!err) {
|
18 | process.exitCode = 0;
|
19 | } else if (err.code === undefined) {
|
20 | process.exitCode = 1;
|
21 | } else {
|
22 | process.exitCode = err.code;
|
23 | }
|
24 | });
|
25 |
|
26 | var stdoutStream = fs.createWriteStream(stdoutFile);
|
27 | var stderrStream = fs.createWriteStream(stderrFile);
|
28 |
|
29 | c.stdout.pipe(stdoutStream);
|
30 | c.stderr.pipe(stderrStream);
|
31 | c.stdout.pipe(process.stdout);
|
32 | c.stderr.pipe(process.stderr);
|
33 |
|
34 | if (pipe) {
|
35 | c.stdin.end(pipe);
|
36 | }
|