尝试从浏览器执行shell命令(任意),并使用child_process将结果打印在Ui上。
无法从命令行异步获取结果。我在这里缺少什么吗?
const exec = require('child_process').exec;
app.post('/plan',(req, res) => {
let cmd = exec('dir');
let output = "";
cmd.stdout.on('data', (data) => {
//console.log(`stderr: ${data}`);
output += data;
});
res.send(output); //not working
console.log(output); //its empty
cmd.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
cmd.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
});
答案 0 :(得分:1)
shell命令异步运行。您需要从回调函数中发送响应,以便在完成执行后发送结果。
pid
这样做可能会更清洁:
pid