Узнайте, как создать дочерний процесс с помощью Node.js
Node.js предоставляетchild_process
модуль, который предоставляет возможность запускать дочерние процессы.
Требуйте модуль и получитеspawn
функция от него:
const { spawn } = require('child_process')
тогда ты можешь позвонитьspawn()
передача 2 параметров.
Впервый параметрэто команда для запуска.
Ввторой параметрпредставляет собой массив, содержащий список опций.
Вот пример:
spawn('ls', ['-lh', 'test'])
В этом случае вы запускаетеls
команда с двумя вариантами:-lh
иtest
. Это приводит к командеls -lh test
, что (при условии, чтоtest
файл существует в той же папке, в которой вы запускаете эту команду), приводит к подробным сведениям о файле:
-rw-r--r-- 1 flaviocopes staff 6B Sep 25 09:57 test
Результатspawn()
вызов функции является экземпляромChildProcess
класс, определяющий порожденный дочерний процесс.
Вот немного более сложный пример, полностью рабочий. Мы смотримtest
файл, и всякий раз, когда он изменяется, мы запускаемls -lh
команда на нем:
'use strict'
const fs = require(‘fs’)
const { spawn } = require(‘child_process’)
const filename = ‘test’
fs.watch(filename, () => {
const ls = spawn(‘ls’, [’-lh’, filename])
})
Не хватает одного. Мы должны передать вывод дочернего процесса основному процессу, иначе мы не увидим никаких результатов.
Мы делаем это, вызываяpipe()
метод наstdout
свойство дочернего процесса:
'use strict'
const fs = require(‘fs’)
const { spawn } = require(‘child_process’)
const filename = ‘test’
fs.watch(filename, () => {
const ls = spawn(‘ls’, [’-lh’, filename])
ls.stdout.pipe(process.stdout)
})
Скачать мою бесплатнуюСправочник по Node.js
Дополнительные руководства по узлам:
- Введение в менеджер пакетов npm
- Введение в Node.js
- HTTP-запросы с использованием Axios
- Где разместить приложение Node.js
- Взаимодействовать с Google Analytics API с помощью Node.js
- Средство выполнения пакетов npx Node
- Руководство по package.json
- Где npm устанавливает пакеты?
- Как обновить Node.js
- Как использовать или выполнить пакет, установленный с помощью npm
- Файл package-lock.json
- Семантическое управление версиями с использованием npm
- Следует ли зафиксировать папку node_modules в Git?
- Обновите все зависимости Node до последней версии
- Разбор JSON с помощью Node.js
- Найдите установленную версию пакета npm
- Node.js потоки
- Установите старую версию пакета npm
- Получить текущую папку в Node
- Как зарегистрировать объект в Node
- Предоставление функциональности из файла узла с помощью экспорта
- Различия между узлом и браузером
- Сделайте HTTP-запрос POST с помощью Node
- Получить данные тела HTTP-запроса с помощью Node
- Буферы узлов
- Краткая история Node.js
- Как установить Node.js
- Сколько JavaScript вам нужно знать, чтобы использовать Node?
- Как использовать Node.js REPL
- Узел, принимать аргументы из командной строки
- Вывод в командную строку с помощью Node
- Принять ввод из командной строки в Node
- Удаление пакетов npm с помощью `npm uninstall`
- npm глобальные или локальные пакеты
- зависимости npm и devDependencies
- Цикл событий Node.js
- Понимание process.nextTick ()
- Понимание setImmediate ()
- Эмиттер событий узла
- Создайте HTTP-сервер
- Выполнение HTTP-запросов с помощью Node
- Модуль Node fs
- HTTP-запросы в Node с использованием Axios
- Чтение файлов с помощью Node
- Пути к файлам узлов
- Написание файлов с помощью Node
- Статистика файла узла
- Работа с файловыми дескрипторами в Node
- Работа с папками в Node
- Модуль пути к узлу
- Модуль Node http
- Использование WebSockets с Node.js
- Основы работы с MySQL и Node
- Обработка ошибок в Node.js
- Путеводитель по мопсу
- Как читать переменные среды из Node.js
- Как выйти из программы Node.js
- Модуль Node os
- Модуль событий узла
- Узел, разница между разработкой и производством
- Как проверить, существует ли файл в Node.js
- Как создать пустой файл в Node.js
- Как удалить файл с помощью Node.js
- Как получить дату последнего обновления файла с помощью Node.js
- Как определить, сегодня ли дата в JavaScript
- Как записать объект JSON в файл в Node.js
- Почему вам следует использовать Node.js в вашем следующем проекте?
- Запускайте веб-сервер из любой папки
- Как использовать MongoDB с Node.js
- Используйте Chrome DevTools для отладки приложения Node.js
- Что такое pnpm?
- Список параметров среды выполнения Node.js v8
- Как исправить ошибку «Отсутствует доступ для записи» при использовании npm
- Как включить модули ES в Node.js
- Как создать дочерний процесс с помощью Node.js
- Как получить в Express и разобранное, и необработанное тело
- Как обрабатывать загрузку файлов в Node.js
- Каковы одноранговые зависимости в модуле Node?
- Как написать файл CSV с помощью Node.js
- Как читать CSV-файл с помощью Node.js
- Модули ядра узла
- Увеличение номеров сразу нескольких папок с помощью Node.js
- Как распечатать холст по URL-адресу данных
- Как создать и сохранить изображение с помощью Node.js и Canvas
- Как скачать изображение с помощью Node.js
- Как массово переименовывать файлы в Node.js
- Как получить имена всех файлов в папке в Node
- Как использовать обещания и ожидания с функциями обратного вызова Node.js
- Как протестировать пакет npm локально
- Как проверить текущую версию Node.js во время выполнения
- Как использовать Sequelize для взаимодействия с PostgreSQL
- Обслуживайте HTML-страницу с помощью Node.js
- Как устранить ошибку `util.pump is not a function` в Node.js