Я использую upstart для запуска демона для запуска сервера node.js (с использованием express и connect-redis) http и https сервера (в одном файле .js узла) для
http://kevin.vanzonneveld.net/techblog/article/run_nodejs_as_a_service_on_ubuntu_karmic/
Все нормально при запуске, и все функции приложения работают должным образом, но последовательно, после различной продолжительности (иногда через несколько часов, иногда через день), процесс демона уничтожается и единственный журнал, который у меня естьего можно найти в
daemon.log:
myserver init: основной процесс myupstartscript (3410), прерванный сигналом ABRT
в моем узле jsфайл, который я поместил:
process.on('uncaughtException',...);
process.on('SIGABRT', .... );
process.on('ABRT',...);
ни один из них не уловил событие.
Я не знаю, как смоделировать событие.Когда я попытался использовать
kill -SIGABRT [the pid]
kill -ABRT [the pid]
, мой process.on ('SIGABRT', ..) перехватывает их.
Другие вещи, которые я заметил:
- Если я запускаю службу БЕЗ сервера https, сбой никогда не происходит.
- На основании других моих журналовсбой НЕ является результатом события, инициируемого пользователем
- Ни одна из других специфичных для приложения служб, на которые я полагаюсь (redis-server, mongod), по-видимому, не связана с событием, они продолжают обслуживание в обычном режиме.
- Я установил сценарий upstart на респаун после аварийного сбоя, и он делает это.
Любая помощь в том, как я могу отследить его?
Моя настройка: Linux iLV12.6.35.4-rscloud # 8 SMP Mon 20.09 15:54:33 UTC 2010 x86_64 Узел GNU / Linux v0.5.11-pre
Спасибо.