Запуск команд оболочки в Node.js

  1. child_process.exec(): этот метод запускает команду оболочки и буферизует выходные данные. Он предоставляет функцию обратного вызова для обработки вывода команды и любых ошибок.

  2. child_process.spawn(): этот метод запускает новый процесс с предоставленной командой и аргументами. Он возвращает поток, который можно использовать для чтения выходных данных команды и прослушивания событий.

  3. child_process.execFile(): этот метод аналогичен exec(), но позволяет указать исполняемый файл напрямую, не полагаясь на системная оболочка.

  4. child_process.spawnSync(): этот метод представляет собой синхронную версию spawn(). Он блокирует выполнение до завершения команды и возвращает статус вывода и выхода.

Вот пример использования метода exec()для запуска команды оболочки в Node.js:

const { exec } = require('child_process');
exec('ls -l', (error, stdout, stderr) => {
  if (error) {
    console.error(`Error: ${error.message}`);
    return;
  }
  if (stderr) {
    console.error(`stderr: ${stderr}`);
    return;
  }
  console.log(`stdout: ${stdout}`);
});

В этом примере выполняется команда ls -l(список файлов в длинном формате) и выводятся выходные данные на консоль.