簡體   English   中英

有人如何終止(遠程)無頭Java應用程序?

[英]How does someone terminate a (remote) headless Java application?

我是無頭應用程序的新手,正如標題所述,我想知道有什么方法可以終止無頭應用程序? 在主題上時,通常如何部署應用程序?

謝謝!

基本解決方案原理:在服務器端(無頭應用程序,我稱其為服務)具有打開的ServerSocket,可偵聽特定端口。 從外部連接到該ServerSocket並發送特定消息。 服務器應用程序收到連接請求后,便可以采取行動。

提示:但是,請確保您使用諸如秘密消息之類的東西或諸如簽名和SSL之類的其他身份驗證方法,因為否則其他知道服務器端口的人都可以關閉您的應用程序。

順便說一句,同樣的解決方案原理也可以用於將新參數傳遞給已經運行的應用程序,例如雙擊瀏覽器中的某些音頻文件將在當前音頻播放器而不是新實例中播放新標題。 (新實例實際上已啟動,但將新文件/標題發送到舊實例,舊實例將其捕獲並切換到該新歌曲)

附加:當您有另一種向應用程序發送數據的方式時,例如在可以發布/獲取數據的網頁中,您還可以解析該輸入以獲取特定消息。

您可以考慮使用ProcessBuilder來啟動新的OS進程

例:

Process p = new ProcessBuilder("myCommand", "myArg").start();
...
p.destroy();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM