gpt4 book ai didi

java - Raspberry Pi Java 关闭 Hook

转载 作者:行者123 更新时间:2023-12-01 12:30:36 27 4
gpt4 key购买 nike

我有一个运行 Java 1.8.0 的 Raspberry Pi 和一个名为 test.jar 的文件。当我运行代码然后使用 Ctrl+Z 停止程序时,关闭 Hook 不会运行,但是当我在 Windows 上运行代码并停止它时,关闭 Hook 将起作用。

如何解决这个问题,谢谢

public class Test
{
public static void main(String[] args)
{
Runtime.getRuntime().addShutdownHook(new Thread() //Add shutdown code
{
public void run()
{
System.out.println("Shutdown");
}
});

while(true) { }
}
}

最佳答案

在 Linux 终端中,ctrl-z 向前台进程发送 SIGSTOP。这是您在进程中无法处理的两个信号之一(另一个是SIGKILL)。这意味着 java 无法运行任何代码来响应该信号。

但是,SIGSTOP 无论如何都不会结束该进程,它只是暂停它。您可以通过发送 SIGCONT 信号来继续,这可以在 shell 中使用 fg 命令来实现。

尝试使用ctrl-c来结束你的程序,它应该可以工作(因为这会发送一个SIGINT,这是可以处理的)。

关于java - Raspberry Pi Java 关闭 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25951295/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com