Столкнулся с необходимостью запуска внешнего процесса из нодовского скрипта. Допустим внешний процесс запускается командой
yarn install
В нодовском модуле child_process
есть неблокирующий метод exec
, с помощью коллбэка которого я могу видеть ошибки
exec('yarn install', function (error, stdout, stderr) {
if (error) console.log(error.code)
})
Однако, мне нужно, чтобы операция выполнялась синхронно, для чего я использую execSync
,
execSync('yarn install')
который уже не выводить в консоль никаких сообщений.
Как получить поток вывода?
Функция execSync
позволяет задавать произвольные потоки stdin
, stdout
, stderr
через параметр stdio
.
Например, если вы хотите перенаправить содержимое stdout
порождаемого процесса в stdout
родительского процесса, то можно использовать вот такой код:
var execSync = require('child_process').execSync;
execSync('ls -l ~', {stdio: ['ignore', process.stdout, 'ignore']});
Подробнее о параметре stdio
можно почитать в официальной документации.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть следующая структура файлов, хочу сделать следующие - при клике на main, проверяется, если show-title (имеет свойство display:block), то ничего не делать,...
Если нужно будет, я скажу, "что и как"