一尘不染

使用node.js(shellProcess)运行Shell脚本

node.js

我想在我的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)


阅读 280

收藏
2020-07-07

共1个答案

一尘不染

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);
    }
});
2020-07-07