[英]Raspberry Pi Java Shutdown hook
我有一個運行Java 1.8.0的Raspberry Pi和一個名為test.jar的文件。 當我運行代碼,然后使用Ctrl + Z停止程序時,關機掛鈎不會運行,但是當我在Windows上運行代碼並將其停止時,關機掛鈎將起作用。
我該如何解決這個問題,謝謝
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
,可以處理)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.