如何获得命令的返回?

我正在开发一个为Linux发送命令的WebApp。 为此,我在客户端上使用Javascript / jQuery,在服务器上使用Node.js。 我的代码是这样的:

客户端

$("#myLink").click(function() { $.get('http://myHost:myPort', {cmd: "rhythmbox-client --print-playing"}); }); 

服务器端(commands.js)

 var exec = require('child_process').exec; var express = require('express'); var app = express(); app.get('/commands', function(req, res) { var command = exec(req.query.cmd); }); app.listen(3000); 

这正常工作和执行命令。 我需要的是获得该命令生成的返回,例如,如果在terminal中运行“rhythmbox-client –print-playing”命令,它将返回当前正在播放的歌曲的名称。 我想在我的应用程序的HTML页面中使用这个名字。

我应该在我的代码中更改以获取执行命令生成的返回?

谢谢(对不起,我的英文不好)

将一个callback函数传递给exec来获取命令输出,如下所示:

 var command = exec(req.query.cmd, function(err, stdout, stderr) { res.send(stdout); });