在日常開發過程中,經常會用到 pm2 來起到服務,甚至會用 watch 來實現熱更新。 但上面這種模式並不適合用在生產環境中,因為 pm2 零延時重啓,會導致正在處理的請求直接被銷燬,如果數據庫沒加事務,直接就會導致數據庫的數據不完整。 處理方法是延時 kill,參數是--kill-timeout。 在啓動的app.js中添加SIGINT的監聽,並在回調中用剩餘的timeout時間處理數據。 pr