Heim >Web-Frontend >js-Tutorial >Wie kann ich Befehlszeilen-Binärdateien mit Node.js ausführen?
Befehlszeilen-Binärdateien mit Node.js ausführen
In Ruby können Sie Binärdateien von Drittanbietern mithilfe der Systemmethode ausführen. In Node.js gibt es zwei Optionen zum Ausführen von Befehlszeilenbinärdateien: child_process.exec und child_process.spawn.
Gepufferte Ausgabe mit child_process.exec
Verwenden Sie child_process. exec, wenn Sie die gesamte Ausgabe des Befehls unter erhalten möchten einmal.
const { exec } = require('child_process'); exec('cat *.js bad_file | wc -l', (err, stdout, stderr) => { if (err) { // Handle error } else { console.log(`stdout: ${stdout}`); console.log(`stderr: ${stderr}`); } });
Gestreamte Ausgabe mit child_process.spawn
Verwenden Sie child_process.spawn, wenn Sie die Ausgabe lieber schrittweise in Blöcken als Stream erhalten möchten.
const { spawn } = require('child_process'); const child = spawn('ls', ['-lh', '/usr']); child.stdout.on('data', (chunk) => { // Data from standard output is here as buffers }); child.on('close', (code) => { console.log(`child process exited with code ${code}`); });
Synchron Ausführung
Für eine synchrone Ausführung (nicht empfohlen für große Ausgaben) verwenden Sie die Methoden child_process.execSync und child_process.spawnSync.
Hinweis: Für Node.js Versionen vor ES5 finden Sie im folgenden Code zur Handhabung der Befehlszeilenausführung:
Gepufferte Ausgabe mit child_process.exec
var exec = require('child_process').exec; var cmd = 'prince -v builds/pdf/book.html -o builds/pdf/book.pdf'; exec(cmd, function(error, stdout, stderr) { // command output is in stdout });
Gestreamte Ausgabe mit child_process.spawn
var spawn = require('child_process').spawn; var child = spawn('prince', [ '-v', 'builds/pdf/book.html', '-o', 'builds/pdf/book.pdf' ]); child.stdout.on('data', function(chunk) { // output will be here in chunks });
Das obige ist der detaillierte Inhalt vonWie kann ich Befehlszeilen-Binärdateien mit Node.js ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!