У нас есть узел node.js/express/socket.io, который управляется Upstart. Сервер остановлен, выполнив эту команду в Баш: «стоп nodejs», где nodejs является Upstart скрипт следующего содержания:Очистка в node.js перед выходом
#!upstart
description "node.js"
# Start the job
start on runlevel [2345]
# Stop the job
stop on runlevel [016]
# Restart the process if it dies
respawn
script
cd /var/www/node_server/
exec /usr/local/node/bin/node /var/www/node_server/chatserver.js >> /var/www/node_server/chatserver.log 2>&1
end script
post-start script
# Optionally put a script here that will notify you node has (re)started
# /root/bin/hoptoad.sh "node.js has started!"
end script
Мы хотели бы, чтобы выполнить некоторую работу по очистке перед сервер остановлен как упомянутое выше. Мы попробовали оба process.on ('exit' ...) и process.on ('SIGINT' ...), но безрезультатно.
Как вызвать обратный вызов до того, как сервер остановлен?
вы можете уточнить 'остановить nodejs', куда вы бежите, что? как вы его запускаете? – Bamieh
Да. См. Мое новое редактирование. –