Заставить процесс node.js умереть? - PullRequest
8 голосов
/ 16 июля 2011

Я пытаюсь найти самый элегантный способ для моего приложения node.js умереть, когда что-то происходит. В моем конкретном случае у меня есть файл конфигурации с определенными обязательными параметрами, которые должны быть выполнены, прежде чем сервер сможет запуститься и будет правильно настроен.

Я нашел способ сделать это:

var die = function(msg){
    console.log(msg)
    process.exit(1);
} 

die('Test end');

Есть ли лучший способ справиться с такой ситуацией?

Ответы [ 2 ]

19 голосов
/ 16 июля 2011

лучше использовать console.error, если вы делаете process.exit сразу после.

console.log неблокирует и помещает ваше сообщение в очередь записи, где оно не обрабатывается из-за exit()

обновление: console.log также блокирует в последних версиях (по крайней мере, начиная с 0.8.x).

0 голосов
/ 16 июля 2011

Если вы хотите внезапно завершить работу, тогда все будет хорошо. Если вы хотите выполнить какую-либо очистку, вы должны сначала сделать это, после чего node.js, вероятно, все равно остановится, потому что ничего не поддерживает цикл обработки событий.

...