將Java應(yīng)用注冊(cè)為后臺(tái)服務(wù)

字號(hào):

項(xiàng)目中有一個(gè)java應(yīng)用程序,交付后用戶要求要把這個(gè)程序做成后臺(tái)服務(wù)程序,即:系統(tǒng)啟動(dòng)后該程序可以自動(dòng)啟動(dòng),并且在前臺(tái)不要出現(xiàn)運(yùn)行窗口,維護(hù)人員只要在“服務(wù)管理”(Windows)中選擇啟動(dòng)或停止即可.
    解決辦法如下:
    Linux
    在Linux中注冊(cè)后臺(tái)服務(wù)程序相對(duì)容易,只需編輯/etc/init.d/boot.local文件,在boot.local文件里加上下面這句腳本:
    /iapappserver/MessageServer2.1/run.sh
    其中run.sh是java應(yīng)用的運(yùn)行腳本
    Windows
    在Windows下的情況較為復(fù)雜,需要使用Windows提供的兩個(gè)工具:instsrv.exe(下載)和Srvany.exe(下載).
    instsrv: 這個(gè)工具是把win32程序變成系統(tǒng)服務(wù)。
    基本用法:
    instsrv [服務(wù)名] [應(yīng)用程序絕對(duì)路徑] (增加服務(wù))
    instsrv [服務(wù)名] REMOVE  (刪除服務(wù))
    但是并不是所有程序都適合做系統(tǒng)服務(wù)的,注冊(cè)成系統(tǒng)服務(wù)后就是無(wú)法啟動(dòng)的,這時(shí)就需要用到srvany.
    srvany: 這個(gè)工具就是用來(lái)解決上面的工具中的問(wèn)題,你注冊(cè)的時(shí)候把它當(dāng)作你要的服務(wù),在用它來(lái)啟動(dòng)你的應(yīng)用程序。
    基本用法:
    instsrv [服務(wù)名] [srvany的絕對(duì)路徑]
    具體步驟如下:
    1. 注冊(cè)服務(wù): path\instsrv 服務(wù)名 path\srvany.exe
    2. regedit打開(kāi)注冊(cè)表
    3. 進(jìn)入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服務(wù)名
    4. 右鍵-新建-項(xiàng) 填入 Parameters
    5. 打開(kāi)Parameters,右鍵-新建-字符串值 Application
    6. 雙擊Application 填入 應(yīng)用程序的絕對(duì)路徑,如: D:\workspace\app\main.exe
    7. 右鍵-新建-字符串值A(chǔ)ppDirectory
    8. 雙擊AppDirectory 填入 應(yīng)用程序的工作目錄,如: D:\workspace\app\
    9. 啟動(dòng)服務(wù)。
    在Parameters里還可以添加很多鍵值:
    AppDirectory 工作目錄
    AppParameters 你的應(yīng)用程序的參數(shù)。
    AppEnvironment 運(yùn)行環(huán)境變量。