我正在尝试通过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操作系统来完成所有这些工作。