專案中有一個java應用程式,交付後用戶要求要把這個程式做成後臺服務程式,即:系統啟動後該程式可以自動啟動,並且在前臺不要出現執行視窗,維護人員只要在“服務管理”(Windows)中選擇啟動或停止即可.
解決辦法如下:
Linux
在Linux中註冊後臺服務程式相對容易,只需編輯/etc/init.d/boot.local檔案,在boot.local檔案里加上下面這句指令碼:
/iapappserver/MessageServer2.1/
其中是java應用的執行指令碼
Windows
在Windows下的情況較為複雜,需要使用Windows提供的兩個工具:(下載)和(下載).
instsrv: 這個工具是把win32程式變成系統服務。
基本用法:
instsrv (增加服務)
instsrv REMOVE (刪除服務)
但是並不是所有程式都適合做系統服務的,註冊成系統服務後就是無法啟動的,這時就需要用到srvany.
srvany: 這個工具就是用來解決上面的工具中的問題,你註冊的時候把它當作你要的服務,在用它來啟動你的應用程式。
基本用法:
instsrv
具體步驟如下:
1. 註冊服務: pathinstsrv 服務名 path
2. regedit開啟登錄檔
3. 進入HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices服務名
4. 右鍵-新建-項 填入 Parameters
5. 開啟Parameters,右鍵-新建-字串值 Application
6. 雙擊Application 填入 應用程式的'絕對路徑,如: D:workspaceapp
7. 右鍵-新建-字串值AppDirectory
8. 雙擊AppDirectory 填入 應用程式的工作目錄,如: D:workspaceapp
9. 啟動服務。
在Parameters裡還可以新增很多鍵值:
AppDirectory 工作目錄
AppParameters 你的應用程式的引數。
AppEnvironment 執行環境變數。