无法运行子进程命令

时间:2018-07-23 17:48:43

标签: node.js process child-process

我正在尝试通过main.js文件中的子进程执行一个名为create-MySwitch.js的nodejs文件。

这是main.js的代码

const exec = require('child_process').exec;
var cmdStr = 'node /home/pi/Desktop/lan-device/create-MySwitch.js';
exec(cmdStr, 
    {argv: {
        port:8080,
        uuid:'MyThing'
    }},
    (error, stdout, stderr)=>{  
    if (error) {
        console.error('exec error: ${error}');
        console.log(error);
        return;
    }
    console.log('stdout: ${stdout}');
    console.log('stderr: ${stderr}');
});

这就是我尝试访问create-MySwitch.js文件中的参数的方式

var port_value = process.argv.port;
var uuid_value = process.argv.uuid;

输出为

stdout: ${stdout}
stderr: ${stderr}

当我运行命令

node main.js

我认为它不起作用,因为执行create-MySwitch.js文件的输出应为“就绪”,但显然不会从子进程的stdout变量中打印出来。 本质上,我想做的是运行命令“ node createMySwitch.js”,但我不想仅在命令提示符下键入此命令,而是想使用子进程来运行该命令。 我正在使用raspbian操作系统来完成所有这些工作。

0 个答案:

没有答案