溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何將批處理文件注冊成服務在系統(tǒng)啟動的時候自動調用

發(fā)布時間:2021-09-30 13:50:28 來源:億速云 閱讀:144 作者:小新 欄目:開發(fā)技術

這篇文章給大家分享的是有關如何將批處理文件注冊成服務在系統(tǒng)啟動的時候自動調用的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

前兩天完成了將java程序注冊成win服務,如今本人有一個java工程起重含有啟動腳本startagent.bat.我想要達到的效果是:當系統(tǒng)啟動的時候就自動調用startagent.bat腳本,于是開始網上尋求相關資料。

  1、首先由師兄提示可以使用系統(tǒng)命令sc實現(xiàn)

  sc create 服務名 binPath= .bat文件所在路徑 start=auto

  (注意 =后面有空格,如果文件路徑中含空格則使用引號引起來)

  具體的參數可以使用sc /?來查看。

  安裝倒是挺順利,管理/服務中出現(xiàn)了新安裝的服務,但是啟動的時候報錯:

  "在本地計算機無法啟動server服務,錯誤5:拒絕訪問"

  刪除服務的時候使用

  sc delete 服務名

  報錯:"xxx服務已標記為刪除"

  重新安裝報錯:

  "錯誤1053:服務沒有及時響應啟動或控制請求"

  嘗試未果,又逢有網友說這種方式行不通,要想作為服務啟動。bat文件得符合msdn上規(guī)定的特定格式的。

  --------------嘗試新的方案--------------

  采用instsrv.exe /srvany.exe

  用instsrv.exe /srvany.exe 注冊windows 服務方法:

  1. 注冊服務: x:/xxx/instsrv 服務名 x:/xxx/srvany.exe(注意得使用"/")

  -------- 將srvany.exe 注冊成系統(tǒng)服務

  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 服務管理器中看到定義的服務…

  問題時解決了, 然而出現(xiàn)了奇怪的2幕:

  A、 在服務中啟動、關閉服務似乎無效,只有重啟才會生效

  B、 配置文件每次都被還原了?(估計是源自自己的一次小修改,待查明… … )

  最終通過重建才解決B問題的, 為什么呢? 我的修改?… …

  刪除一個自定義的服務呢?

  如果你要卸載一個本地服務,可以通過命令行輸入如下命令

  sc delete ServiceName

  或者在直接修改注冊表

  在 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services 中刪除相應的鍵值。

感謝各位的閱讀!關于“如何將批處理文件注冊成服務在系統(tǒng)啟動的時候自動調用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI