我想用nodejs脚本执行shell命令。我有一个问题
const { spawn } = require('child_process');
const ls = spawn('ls', ['-lh', '/usr']);
ls.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
ls.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
ls.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
这很有效。
但是,如果我想运行一个无穷无尽的命令并且我想运行另一个命令,该怎么办。
例如;
const { spawn } = require('child_process');
const simpleServer = spawn('python', ['-m', 'SimpleHTTPServer', '1234']);
simpleServer.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
simpleServer.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
simpleServer.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
gulper.stdout.on('data', (data) => {
console.log(`stdout: ${data}`);
});
gulper.stderr.on('data', (data) => {
console.log(`stderr: ${data}`);
});
gulper.on('close', (code) => {
console.log(`child process exited with code ${code}`);
});
有没有办法用不同的会话来做?
答案 0 :(得分:2)
您不能单独运行它们。您必须使用Promise或NodeJS中的异步工具。