Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:如何仅处理SIGTERM?_Java_Exit_Sigterm - Fatal编程技术网

Java:如何仅处理SIGTERM?

Java:如何仅处理SIGTERM?,java,exit,sigterm,Java,Exit,Sigterm,Java中有没有一种方法可以处理接收到的SIGTERM 我正在运行java服务,但不想在用户注销时关闭java服务 只覆盖sigterm shutdown处理程序,但保留其余信号的处理程序 如果传递给句柄的信号具有名称“TERM”,则执行操作,否则忽略它 class MySignalHandler implements SignalHandler { public void handle(Signal sig) { if (!"TERM".equals(sig.getName())

Java中有没有一种方法可以处理接收到的SIGTERM

我正在运行java服务,但不想在用户注销时关闭java服务

只覆盖sigterm shutdown处理程序,但保留其余信号的处理程序



如果传递给
句柄的
信号具有名称
“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.
  }
}

你链接到的解释中有哪些部分你不明白?我很困惑-为什么当用户注销时服务会失效?理想情况下,您的服务应该满足来自多个用户的多个请求,不是吗?请发布一段代码,解释代码运行的环境,并描述代码运行不符合预期的情况。我使用Windows XP服务来运行我的程序。即使在用户登录或注销时,它也应该继续运行。但是当初始化关闭时,服务也应该关闭。当前当用户注销时,服务将退出(不需要的行为)。因此,我只想覆盖Sigterm的处理,但保留原始JVM处理程序的其余部分。