digitech

166.2

[Перевод] О завершении работы Node.js-процессов

Node.js-процессы завершают работу по разным причинам. При этом в некоторых случаях «смерть» процесса можно предотвратить. Например — в ситуации, когда причиной остановки процесса может стать необработанная ошибка. А вот иногда с остановкой процесса ничего поделать нельзя. Например — если её причина кроется в нехватке памяти. В Node.js существует глобальный объект process, являющийся экземпляром класса EventEmitter. Этот объект, при нормальном завершении процесса, генерирует событие exit. Код приложения может прослушивать это событие и, при его возникновении, выполнять, в синхронном режиме, некие операции по освобождению ресурсов.

Существует несколько способов намеренного завершения работы процесса. Среди них — следующие:

Операция Пример
Ручной выход из процесса
process.exit(1)
Неперехваченная ошибка
throw new Error()
Необработанное отклонение промиса
Promise.reject()
Проигнорированное событие error
EventEmitter#emit('error')
Необработанный сигнал
$ kill <PROCESS_ID>

Многие из этих операций часто выполняются случайно, например — это касается неперехваченных ошибок и необработанных исключений. Но одна из них, с которой мы начнём разбор причин завершения Node.js-процессов, была создана с целью дать разработчику возможность вручную завершать процессы.
Читать дальше →

Читать полностью

High Tech Report8 April 2021
0
 0.00