[解決済み】Node.jsが終了する直前にクリーンアップアクションを実行する
2022-03-24 15:17:38
質問
Node.jsが何らかの理由で終了する直前に、常に何かをするように指示したいのです - 。 Ctrl + C が発生した、例外が発生した、などの理由が考えられます。
こんなことをやってみました。
process.on('exit', function (){
console.log('Goodbye!');
});
プロセスを起動し、終了させましたが、何も起こりませんでした。もう一度起動し Ctrl + C それでも何も起こりませんでしたが...。
どうすればいいですか?
アップデートを行う。
のハンドラを登録することができます。
process.on('exit')
で、それ以外の場合(
SIGINT
または処理されない例外)を呼び出すことです。
process.exit()
process.stdin.resume();//so the program will not close instantly
function exitHandler(options, exitCode) {
if (options.cleanup) console.log('clean');
if (exitCode || exitCode === 0) console.log(exitCode);
if (options.exit) process.exit();
}
//do something when app is closing
process.on('exit', exitHandler.bind(null,{cleanup:true}));
//catches ctrl+c event
process.on('SIGINT', exitHandler.bind(null, {exit:true}));
// catches "kill pid" (for example: nodemon restart)
process.on('SIGUSR1', exitHandler.bind(null, {exit:true}));
process.on('SIGUSR2', exitHandler.bind(null, {exit:true}));
//catches uncaught exceptions
process.on('uncaughtException', exitHandler.bind(null, {exit:true}));
関連
-
[解決済み】Nodejs: Errorを解決する方法。ENOENT: そのようなファイルまたはディレクトリがありません
-
[解決済み】AWS STS AssumeRoleへのアクセスを可能にする方法
-
[解決済み] テスト
-
[解決済み】nodemon - app crashed - waiting for file changes before start
-
[解決済み】Mongooseで配列の値を更新する方法
-
webpack ENOENTソリューションの起動
-
[解決済み] EventEmitter のメモリリークの可能性が検出された
-
[解決済み] AWS s3 api error: specified bucket does not exist.
-
[解決済み] エラーです。Cannot find module 'ejs'
-
[解決済み】Node.jsとブラウザ間でコードを共有するにはどうすればいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み】Discord.js が特定のチャンネルにメッセージを送信する場合
-
[解決済み】MongoDBのデータ/DBが見つからない
-
[解決済み】nodemon - app crashed - waiting for file changes before start
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] MongoClient v3.0使用時、db.collectionが関数でない
-
[解決済み] Node.jsで「btoaが定義されていない」エラーが発生する
-
[解決済み] nodejsでfindAllのソート順を続編にする
-
[解決済み] nvm は npm config の "prefix" オプションと互換性がありません。
-
[解決済み] エラー: ノード出力を "|head" にパイプするときに EPIPE を書き込む。