情況:我有一個保持活動的shell腳本,每當它關閉時都會重新啓動應用程序。但是,如果應用程序通過SIGTERM
或SIGINT
(kill
,Ctrl+C
等)關閉,我不希望它執行此操作。但是,我無法設置退出代碼,因此在退出關機鉤時與保持活動腳本進行通信,因爲調用exit
是非法的。Java - 以編程方式設置SIGTERM的退出代碼
從JavaDoc以exit
:
如果虛擬機已開始關閉序列之後接着如果關閉掛鉤正在運行該方法將無限期地阻止此方法被調用。如果關閉鉤子已經運行並且啓用了退出結束,那麼如果狀態爲非零,則此方法將使用給定的狀態代碼暫停虛擬機;否則,它會無限期地阻止。
這可能嗎?