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
Freigeben: 2024-12-05 16:55:12
Original
729 Leute haben es durchsucht

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}`);
});
Nach dem Login kopieren

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
});
Nach dem Login kopieren

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
});
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage