Heim >Web-Frontend >js-Tutorial >Wie kann ich Befehlszeilen-Binärdateien in Node.js mit „child_process' ausführen?

Wie kann ich Befehlszeilen-Binärdateien in Node.js mit „child_process' ausführen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-05 16:55:12756Durchsuche

How Can I Execute Command Line Binaries in Node.js Using `child_process`?

Ausführen von Befehlszeilen-Binärdateien mit Node.js

Das Ausführen von Befehlszeilen-Binärdateien von Drittanbietern aus Node.js ist mit dem Modul child_process ganz einfach.

Exec für die vollständige Ausgabe verwenden

Um einen Befehl auszuführen und abzurufen Vollständige Ausgabe, verwenden Sie child_process.exec:

const { exec } = require('child_process');
exec('prince -v builds/pdf/book.html -o builds/pdf/book.pdf', (err, stdout, stderr) => {
  if (err) return;
  console.log(`stdout: ${stdout}`);
  console.log(`stderr: ${stderr}`);
});

Verwenden Sie spawn für die Stream-Ausgabe

Um Prozess-E/A mit Streams zu verarbeiten, verwenden Sie child_process.spawn:

const { spawn } = require('child_process');
const child = spawn('prince', [
  '-v', 'builds/pdf/book.html',
  '-o', 'builds/pdf/book.pdf'
]);

child.stdout.on('data', (chunk) => {
  // Output chunks are received here
});

Verwenden von execFile für Ausführbare Dateien

Um eine ausführbare Datei anstelle eines Befehls auszuführen, verwenden Sie child_process.execFile:

const { execFile } = require('child_process');
execFile(file, args, options, (err, stdout, stderr) => {
  // Output is retrieved in stdout
});

Synchronous Functions

Für synchron Ausführung bietet Node.js synchrone Gegenstücke dazu Methoden:

  • child_process.execSync
  • child_process.spawnSync
  • child_process.execFileSync

Sie geben keine ChildProcess-Instanzen zurück wie ihre asynchronen Gegenstücke.

Hinweis: Für Node.js-Versionen 0.11.12 und höher gelten die obigen Beispiele. Informationen zu früheren Versionen finden Sie im Legacy-Code, der in der bereitgestellten Antwort enthalten ist.

Das obige ist der detaillierte Inhalt vonWie kann ich Befehlszeilen-Binärdateien in Node.js mit „child_process' ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn