Node.js 运行子进程命令时遇到问题
我试图通过main.js文件中的子进程执行名为create-MySwitch.js的nodejs文件 这是main.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' }
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()
在同一进程中执行文件?缺少执行错误
意味着应用程序不会带错误代码退出,仅此而已。您没有在控制台输出中使用模板文本,因此不会显示${..}变量。