如何在MacOSX和Linux上的Node中启动ChildProcess

时间:2013-11-15 18:58:30

标签: linux macos node.js express path

我有一个Express服务器,可以在Linux机器上运行以下脚本。 现在,想将python文件位置引用更改为目录结构 在Mac OSX上。我需要一些引用节点中当前工作目录的东西,但是会 作为相对位置工作。这是一个路径问题。类似的代码在Linux上运行良好。

app.put('/route', function(req, res){
    req.on('end', function () {  
      var child;      
      var values        = req.body;
      var shellScrpt    = " python /MyPython.py '"
      var shellScrptVar = JSON.stringify(values) + "' " ;  

      child = childProcess.exec(shellScrpt+shellScrptVar, function (error, stdout, stderr) {
         if (error) {
           console.log(error.stack);
         }
         console.log('Child Process STDOUT: '+stdout);  
      });

      res.end();
   });
})

1 个答案:

答案 0 :(得分:0)

在不使用额外要求的情况下解决:

  var pwdir         = path.resolve(process.cwd(),"../ParentWorkingDir")
  var shellScrpt    = " python "+ pwdir +"/MyPython.py '"