[英]Node.js child_process.exec()
我试图在节点中执行一个子进程,该子进程的名称来自发布请求。 我正在使用express,因此使用app.post()。 我的代码如下。
app.post('/*', function(req, res) {
var buf = new Buffer(256);
var cont_len = buf.write(req.url, -1);
var controller = buf.toString('utf8', 0, cont_len);
var controller = controller.concat(' ')
var args = req.param('args', null);
var command = __root+__controllers+controller+args;
console.log(command);
c = exec(command,
function (error, stdout, stderr) {
res.send(stdout);
res.send(stderr);
if (error !== null) {
res.send(error);
}
});
});
无效的部分是当我尝试使用动态命令构建命令字符串时。 我可以对命令变量进行硬编码,并且可以工作,但是当我使用变量“ controller”时,它不会执行我的过程。 另外,有没有一种方法可以响应子进程的返回值,或者我必须坚持只使用stdout吗?
您可以使用req.body访问请求参数
var command = req.body.theparam;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.