在Node.js中执行多个shell命令

时间:2015-09-12 22:43:17

标签: node.js shell

我想连续地从node.js应用程序执行多个Shell命令。就我而言,exec(command1 & command2)不能正常工作。它适用于像lspwd这样的简单命令,但是我需要启动一个服务器,然后在它上面执行特殊命令,它只执行第一个命令而已。当我在命令行界面上工作时,我只需要输入一个命令,然后我需要一个工具以相同的方式执行它们,但是从node.js应用程序自动启动 - 并且所有这些都在同一个进程中!

1 个答案:

答案 0 :(得分:2)

您可以使用child_process模块来实现这一目标。

以下是演示用法的示例代码

var child_process = require('child_process');

var task1 = child_process.exec('node --version', function (error, stdout, stderr) {
    console.log('stdout: ' + stdout);
    console.log('stderr: ' + stderr);
    if (error !== null) {
        console.log('exec error: ' + error);
    }
});

var task2 = child_process.exec('npm --version', function (error, stdout, stderr) {
    console.log('stdout: ' + stdout);
    console.log('stderr: ' + stderr);
    if (error !== null) {
        console.log('exec error: ' + error);
    }
});