Node.js 运行子进程命令时遇到问题

Node.js 运行子进程命令时遇到问题,node.js,process,child-process,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' }

我试图通过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操作系统来完成所有这些

为什么您要对
子进程执行此操作,而不是简单地使用
require()
在同一进程中执行文件?缺少
执行错误
意味着应用程序不会带错误代码退出,仅此而已。您没有在控制台输出中使用模板文本,因此不会显示${..}变量。