2016-07-06 54 views
0

是否可以檢查Java應用程序是否已在運行,如果是,請獲取它的實例? 假設我有一個jar,第一次點擊它會打開一個框架,每次(直到它關閉),它都會獲取該框架並向它添加一個對象。這還需要在主應用程序沒有close()方法的情況下工作,以便在應用程序停止響應或已用任務管理器關閉時再次打開時再次運行。獲取同一Java應用程序的實例(如果它已在運行)

+1

您是否已檢查此頁面右側「相關」部分中的鏈接? – assylias

+0

是的,我發現了一些可以檢查應用程序是否已經運行的方法。但我也要求2個額外的方法 –

回答

1

Java應用程序適用於不同的進程。

因此,在兩個不同的過程(已經運行的應用程序和新的應用程序)之間進行交互並不那麼容易。

你可以做的是找到一個進程間通信機制並使用它。 典型的inter process communications使用文件或公用數據庫。

您可以存儲執行您的Java應用程序的當前主線程的ID。

如果新進程開始檢查是否有一個已經運行的應用程序。 如果是,則可以使用相同(或新的)進程間通信系統發送主進程應更新的信息。然後次要過程自殺。

相關問題