2011-05-01 97 views
2

Java中有處理收到的SIGTERM的方法嗎?Java:如何僅處理SIGTERM?

我正在運行一個java服務,但不想在用戶註銷時關閉我的java服務。

只想覆蓋sigterm關閉處理程序,但保留其餘信號的處理程序。

details of signals
a slight variation of this qns

+1

你鏈接到什麼部分的解釋你不明白嗎? – 2011-05-01 06:02:02

+0

我很困惑 - 爲什麼服務在用戶註銷時死掉?理想情況下,您的服務應該迎合來自多個用戶的多個請求,不是嗎? – lobster1234 2011-05-01 06:45:43

+0

什麼平臺/操作系統? – trashgod 2011-05-01 07:15:26

回答

1

如果傳遞給handleSignal有名字"TERM"然後做一些事情,否則,忽略它。

class MySignalHandler implements SignalHandler { 
    public void handle(Signal sig) { 
    if (!"TERM".equals(sig.getName())) { 
     SigHandler.SIG_DFL.handle(sig); 
     return; 
    } 

    // Handling code goes here. 
    } 
}