我想在我的node.js服务器上运行一个shell脚本,但是什么也没发生...

childProcess.exec('~/./play.sh /media/external/' + req.params.movie, function() {}); //not working

另一个childProcess可以完美地工作,但是上面的过程就不行了。
childProcess.exec('ls /media/external/', movieCallback); //works

如果我在终端中运行脚本,那么它将起作用。有任何想法吗? (设置了chmod + x)

最佳答案

exec函数回调函数已将错误,stdout和stderr参数传递给它。查看它们是否可以通过将它们吐到控制台来帮助您诊断问题:

exec('~/./play.sh /media/external/' + req.params.movie,
  function (error, stdout, stderr) {
    console.log('stdout: ' + stdout);
    console.log('stderr: ' + stderr);
    if (error !== null) {
      console.log('exec error: ' + error);
    }
});

关于javascript - 使用node.js运行shell脚本(childProcess),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19103735/

10-11 06:11