2011-06-29 111 views
2

我遇到了關閉掛鉤功能,當java應用程序關閉時會調用它。關閉掛鉤可以用於稍長的任務

  • 我正在使用SIGTERM信號來關閉我的java進程在Linux機器上。

  • 而在關機的時候,我希望做一些磁盤I/O(持久一些對象),並關閉打開的文件緩存(即,最多需要1分鐘)

  • 你能否告知,如果關閉掛鉤本用例的安全/可靠機制

  • 如果有更好的選擇,請提出建議。

回答

3

design document並沒有說明關閉掛鉤允許線程跑了多久東西。但在行之間閱讀(事實上有一個Runtime.halt,我認爲你是安全的)。

現在請記住,你依賴的其他一些框架可能已經同時關閉,所以你的鉤子不應該依賴任何非你自己的代碼。

您可能還會感興趣的其他SO問題:How to stop java process gracefully?