从Node.js运行多个终端命令

时间:2019-09-19 18:57:37

标签: javascript node.js bash process spawn

你好,我在imageBuilder.js中有一个函数被调用,我需要按顺序执行以下命令:

$ pushd /Users/martinbarker/Documents/bume/bumetest
$ npm install
$ popd

我可以将这3个命令与&一起字符串化为一个大命令,这样(我的路径保存在变量中):

$ pushd ${sourcePath} && npm install && popd

我正在尝试使用“ spawn”命令执行此操作,以便可以生成一个新进程,运行这些命令,然后终止该进程,但是我在弄清楚如何运行我的大型命令时遇到了麻烦:

function npminstall(sourcePath){
    console.log("inside npminstall()");
      /*
        Spawn a new process and run:
        $ pushd ${sourcePath} && npm install && popd
        Use spawn or exec or fork?
      */
      //spawn new process
      const { spawn } = psPromise;
      //run commands in process
      const promise = spawn('ls', ['../../']);
      const { childProcess } = promise;
      console.log('childProcess.pid: ', childProcess.pid);
      return promise;
}

0 个答案:

没有答案