項目中有一個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 運行環境變量。