我有一個無頭Java應用程序,永久運行在後臺,就像服務/守護進程,我想。它運行在Linux上並收集數據,並將其存儲在數據庫中,並連續循環。簡單的發送/接收接口到後臺Java服務應用程序
它以init.d
腳本啓動並停止。它在系統啓動時啓動在後臺運行的jar,並通過在系統關閉時關閉特定java進程來停止它。另外,我可以訪問此腳本來手動啓動/停止,就像這樣:
sudo service my-java-app stop
儘管是原始的,這已經足夠了。但現在我希望使用更優雅的界面。這將允許我發送命令(即改變數據獲取頻率和友好終止)以及請求數據(即健康檢查和統計)。
我從來沒有這樣做過,我正在尋找一些指導從哪裏開始。該應用在無頭Linux上運行在後臺,因此GUI不適用。我曾經想過運行一個http服務器並監聽POST和GET,但這並不容易在bash中實現或使用。我以爲可能有一個虛擬的COM端口或我可以創建的東西?或甚至我寫入的文本文件和應用程序讀取間隔?
我形象的最終目標將是一個方法來執行在bash中的命令,並有Java應用程序監聽/附加到這個莫名其妙。
netcat怎麼樣?你可以發送任何東西並用簡單的腳本包裝起來,這很容易 – rpax
我認爲這取決於你想如何發出請求:使用HTTP GET/POST似乎是正確的,如果你想從其他計算機/設備訪問,只是使用瀏覽器。你可以使用'curl'從命令行訪問。但是,如果你不想遠程訪問也許這是過度殺傷 –
@rpax netcat是一個Linux程序嗎?你是否建議我用ProcessBuilder或類似的東西包裝這個?我假設我會在bash中運行netcat命令來建立通信。 – Darian