Maison >interface Web >js tutoriel >Comment puis-je exécuter des binaires et des fichiers en ligne de commande dans Node.js ?

Comment puis-je exécuter des binaires et des fichiers en ligne de commande dans Node.js ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-25 09:20:11916parcourir

How Can I Execute Command Line Binaries and Files in Node.js?

Exécution des binaires de ligne de commande dans Node.js

Dans Node.js, le processus d'exécution des binaires de ligne de commande est géré via le module child_process. Que vous ayez besoin d'exécuter une commande ou de gérer les E/S de processus avec des flux, il existe des options pour répondre à vos besoins.

Exécution asynchrone

Exécution de commandes avec des tampons

Pour exécuter une commande et récupérez sa sortie complète sous forme de tampon, utilisez child_process.exec():

const { exec } = require('child_process');

exec('command', (error, stdout, stderr) => {
  // command output is in stdout
});

Streaming Sortie

Si vous devez gérer les E/S de processus avec des flux, utilisez child_process.spawn() :

const { spawn } = require('child_process');

const child = spawn('command', ['args']);

child.stdout.on('data', (chunk) => {
  // output will be here in chunks
});

Exécution synchrone

Node.js prend également en charge la génération synchrone et méthodes d'exécution. Ces méthodes ne renvoient pas d'instance de ChildProcess :

const { execSync } = require('child_process');

let stdout = execSync('command');

Executing Files

Si vous devez exécuter un fichier plutôt qu'une commande, utilisez child_process.execFile():

const { execFile } = require('child_process');

execFile('file', ['args'], (error, stdout, stderr) => {
  // command output is in stdout
});

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn