萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> 將批處理文件注冊成服務在系統啟動的時候自動調用

將批處理文件注冊成服務在系統啟動的時候自動調用

 如何將批處理文件注冊成服務,在系統啟動的時候就自動調用startagent.bat腳本,下面是具體的實現過程,需要的朋友可以參考下

前兩天完成了將java程序注冊成win服務,如今本人有一個java工程起重含有啟動腳本startagent.bat.我想要達到的效果是:當系統啟動的時候就自動調用startagent.bat腳本,於是開始網上尋求相關資料。      1、首先由師兄提示可以使用系統命令sc實現      sc create 服務名 binPath= .bat文件所在路徑 start=auto      (注意 =後面有空格,如果文件路徑中含空格則使用引號引起來)      具體的參數可以使用sc /?來查看。      安裝倒是挺順利,管理/服務中出現了新安裝的服務,但是啟動的時候報錯:      "在本地計算機無法啟動server服務,錯誤5:拒絕訪問"      刪除服務的時候使用      sc delete 服務名      報錯:"xxx服務已標記為刪除"      重新安裝報錯:      "錯誤1053:服務沒有及時響應啟動或控制請求"      嘗試未果,又逢有網友說這種方式行不通,要想作為服務啟動。bat文件得符合msdn上規定的特定格式的。      --------------嘗試新的方案--------------      采用instsrv.exe /srvany.exe      用instsrv.exe /srvany.exe 注冊windows 服務方法:      1. 注冊服務: x:/xxx/instsrv 服務名 x:/xxx/srvany.exe(注意得使用"/")      -------- 將srvany.exe 注冊成系統服務      2. regedit打開注冊表      3. 進入HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/服務名      4. 右鍵-新建-項 填入 Parameters      5. 打開Parameters,右鍵-新建-字符串值 Application      6. 雙擊Application 填入 應用程序的絕對路徑,如: E:/jboss-4.0.5.GA/bin/starteos.bat      7. 右鍵-新建-字符串值AppDirectory      8. 雙擊AppDirectory 填入 應用程序的工作目錄,如: E:/jboss-4.0.5.GA/bin      ----------- 通過srvany.exe 啟動注冊表中定義的。exe 應用      9. 啟動服務。      (注意: 7與8不可或缺)      在windows 服務管理器中看到定義的服務…      問題時解決了, 然而出現了奇怪的2幕:      A、 在服務中啟動、關閉服務似乎無效,只有重啟才會生效      B、 配置文件每次都被還原了?(估計是源自自己的一次小修改,待查明… … )      最終通過重建才解決B問題的, 為什麼呢? 我的修改?… …      刪除一個自定義的服務呢?      如果你要卸載一個本地服務,可以通過命令行輸入如下命令      sc delete ServiceName      或者在直接修改注冊表      在 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services 中刪除相應的鍵值。   
copyright © 萬盛學電腦網 all rights reserved