Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Node.js中执行多个shell命令_Node.js_Shell - Fatal编程技术网

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

在Node.js中执行多个shell命令,node.js,shell,Node.js,Shell,我想连续执行node.js应用程序中的多个Shell命令。在我的例子中,exec(command1和command2)不能正常工作。它适用于像ls和pwd这样的简单命令,但我需要启动一个服务器,然后在服务器上执行特殊命令,在那里,它只执行第一个命令,其他什么也不执行。当我在命令行界面上工作时,我只是一个接一个地输入命令,我需要一个工具以相同的方式执行它们,但会自动从node.js应用程序启动,并且所有命令都在相同的过程中 您可以使用子进程模块来实现这一点 下面是一个示例代码来演示该用法 var

我想连续执行node.js应用程序中的多个Shell命令。在我的例子中,
exec(command1和command2)
不能正常工作。它适用于像
ls
pwd
这样的简单命令,但我需要启动一个服务器,然后在服务器上执行特殊命令,在那里,它只执行第一个命令,其他什么也不执行。当我在命令行界面上工作时,我只是一个接一个地输入命令,我需要一个工具以相同的方式执行它们,但会自动从node.js应用程序启动,并且所有命令都在相同的过程中

您可以使用
子进程
模块来实现这一点

下面是一个示例代码来演示该用法

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

谢谢你的帮助!我已经尝试过child_process.exec,但方式有点不同。我的问题还没有解决,但现在我很确定它的原因是在我想要访问的服务器上,而不是在node.js中。