在Node.js中生成一个子进程

3
node.js 中,我正在尝试生成一个子进程。在执行一个 exe 文件时,我需要传递一个参数(mode=All)。我是这样做的,但是没有得到任何结果。请帮我检查一下:
`var exec = require('child_process').execFile;
var fun =function(){ 
   exec('Sample.exe mode=All', function(err, data) {  
        console.log(err)       
        console.log(data.toString());                       
    });  
}
fun();`

在命令行中,我得到的输出是:
 `c:\files\Sample.exe mode=All`

输出结果如下:
{"ID":"VM-WIN7-64","OS":"Windows 7"}{"ID":"VM-WIN7-32","OS":"Windows 7"}{"ID":"V M-WIN7-32-1","OS":"Windows 7"}{"ID":"VM-WIN7-32-2","OS":"Windows 8"}

如何使用Node.js获取上述输出

1个回答

5

以下是文档中 execFile 函数的签名:

child_process.execFile(file, args, options, callback)

您正在将可执行文件路径与空格和参数组合在一起。但是execFile不期望这样的输入。请根据文档尝试以下方法:
exec('Sample.exe', ['mode=ALL'], {}, function(err, data) { 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接