2017-10-19 107 views
0

我有每兩分鐘運行一個進程的jar文件。它可以很好地工作,但如果有人關閉了終端,程序將被終止。我正在尋找一種將其作爲後臺進程執行的方式。這是我的主:在後臺運行Java ScheduledExecutorService

public class SMSAlert { 

    private static ScheduledExecutorService scheduler; 

    /** 
    * @param args the command line arguments 
    */ 
    public static void main(String[] args) { 
     scheduler = Executors.newSingleThreadScheduledExecutor(); 
     Alert alert = new Alert(); 
     scheduler.scheduleAtFixedRate(alert, 0, 2, TimeUnit.MINUTES); 
    } 

} 
+1

這聽起來更像是一個操作系統問題,而不是編程問題。你在使用什麼操作系統? –

+0

它對Linux mint和Windows都是一樣的。 – ErrorNotFoundException

回答

0

在Linux上,您可避免使用screen命令「閉合端子殺死進程的問題。這將該過程從受到終端發生的事情影響的過程中分離出來。

解決您的問題的另一種方法是通過Cron運行您的應用程序。再次,這使得它的執行獨立於任何特定的終端會話。