Я настраиваю обработку ошибок для дочернего процесса в своем приложении узла, и мне интересны эти два варианта:
childProcess.on('error', err => {
// omitted
});
// do we need both this and the preceding handler?
childProcess.stderr.on('data', data => {
// omitted
});
Какая разница? Оба нужны?
дочерний процесс error
событие запускается, когда у узла возникают проблемы с запуском, остановкой или управлением дочерним процессом.
stderr
— это один из выходных каналов дочернего процесса после его запуска. Событие data
может запускаться много раз при нормальной работе процесса и часто может включать важную информацию об ошибочных состояниях процесса. Обычно вы обрабатываете stdout
аналогично stderr
.
Значение exit
события code
также может быть важным для дочернего процесса. Часто процессы завершаются с кодом возврата без 0
, чтобы сигнализировать о возникновении проблемы.