Upstartによって管理されているnode.js/express/socket.ioサーバーがあります。サーバはbashで、このコマンドを実行することにより、停止している:nodejsは以下の内容を含む、成り上がりのスクリプトで、「nodejsを停止」:終了前に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
はい。私の新しい編集を見てください。 –