現狀:啓動Java jar文件
我有服務器PC上的jar文件(PC充當服務器),a.jar文件,這將運行無限循環來監聽TCPIP連接從客戶端PC。當連接已經完成,客戶端PC可以發送一個壓縮文件到服務器PC,a.jar文件將其解壓縮並與壓縮,這將再掀全屏幕顯示的java文件,b執行腳本。罐子。
a.jar文件也將試圖在啓動過程中運行b.jar,如果b.jar已經存在。
方法1:
我/etc/init.d/中寫了一個腳本來啓動a.jar文件,因爲它是無限循環,系統在啓動過程中永遠掛( 在終端屏幕上,甚至不能進入GUI)。我必須啓動到單用戶模式以刪除該腳本才能正常啓動。
方法2:
當我改變了腳本a.jar文件運行作爲一個守護進程,它運行正常,監聽連接,我可以連接到服務器PC和發送zip文件。
問題:
- b.jar當執行權限和文件都正確設置甚至沒有執行。
- 我發送一個zip文件後,b.jar被執行(,因爲它連接到一個設備,該設備被激活)。但是全屏顯示不像通過終端執行時那樣顯示。
這樣
它可能的原因似乎有點複雜,但因爲b.jar將不斷更新,它必須是自動啓動時更新後,因此我使用a.jar來解壓並執行新版本fo b.jar。
and b.jar需要以root身份運行,因爲它需要訪問串口。
(需要實現自動化服務器PC,因此需要啓動時啓動b.jar和遠程控制)
問題
我可以知道的是有沒有更好的方法來做到這一點?或者我做錯了什麼?有人能給我看一個更好的腳本來啓動它在啓動過程中嗎?