1. 程式人生 > >SC命令 註冊或刪除服務及例項

SC命令 註冊或刪除服務及例項

1. 描述:    SC 是用於與服務控制管理器通訊的命令列程式
   用法:
        sc <server> [command] [service name] <option1> <option2>...

        選項 <server> 的格式為
        可以鍵入 "sc [command]"以獲得命令的進一步幫助
        命令:
          query---------------查詢服務的狀態,或列舉服務型別的狀態。
          queryex------------查詢服務的擴充套件狀態, 或列舉服務型別的狀態。


start----------------啟動服務
          pause--------------傳送 PAUSE 控制請求到服務。
          interrogate--------傳送 INTERROGATE 控制請求到服務。
          continue-----------傳送 CONTINUE 控制請求到服務。
stop----------------傳送 STOP 請求到服務。
          config--------------(永久地)更改服務的配置。
          description--------更改服務的描述。
          failure--------------更改服務失敗時所進行的操作。

          qc-------------------查詢服務的配置資訊。
          qdescription-------查詢服務的描述。
          qfailure-------------查詢失敗服務所進行的操作。
delete---------------(從登錄檔)刪除服務
create---------------建立服務(將其新增到登錄檔)。
          control--------------傳送控制到服務。
          sdshow--------------顯示服務的安全描述符。
          sdset----------------設定服務的安全描述符。

          GetDisplayName---獲取服務的 DisplayName。
          GetKeyName--------獲取服務的 ServiceKeyName。
          EnumDepend-------列舉服務的依存關係。

        下列命令不查詢服務名稱:
        sc <server> <command> <option>
          boot---------------(ok | bad) 表明是否將上一次啟動儲存為最後所知的好的啟動配置
          Lock---------------鎖定服務資料庫
          QueryLock-------查詢 SCManager 資料庫的 LockStatus


用法:
開始->執行->cmd

在出現的命令列視窗中輸入sc

使用sc/?命令,查詢其它功能


示例 1:註冊服務(類似與linux中系統啟動自動載入的東西)

 sc create SVN binpath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r D:\svn" displayname= "Subversion Server" depend= Tcpip start= auto

 其中sc create是sc註冊服務命令
 svn : 是服務註冊時的鍵名
 binpath : 是服務載入程式啟動檔案的路徑和命令引數
 displayname :是服務顯示名
 depend      :傳輸依賴的協議
 start       :是否自動啟動

 說明:上面的那個例子是註冊一個svn的服務

示例 2:啟動服務
sc start MyService

示例 3:刪除服務

sc delete[servicename]

比如要刪除apache2.2服務,操作如下:sc delete apache2.2


補充:如果用SC命令不能刪除服務,可以從登錄檔裡刪除。

開始->執行 reg delete HKLM\SYSTEM\CurrentControlSet\Services\ServiceName

補充:

windows 註冊服務 命令 sc的用法

1.服務顯示名和註冊鍵的區別,顯示名稱主要是在外面顯示的名字(如Subversion Server)可以用命令msconfig和service.msc來檢視
  鍵名,另一種方法是用regedit登錄檔中HKEY_LOCAL_MACHINE->system->service中去檢視.

  鍵名和顯示名的轉化:
 sc GetKeyName (顯示名)  ---->由顯示名得到鍵名
        sc GetDisplayName (鍵名)---->由鍵名得到顯示名

2.對服務的操作都得由鍵名來做,顯示名稱不起作用

3.得到鍵名後就可以像linux命令service那樣來操作服務

 服務啟動sc start '鍵名' 例如: sc start svn
 服務停止sc stop  '鍵名' 例如: sc stop svn
 服務刪除sc delete '鍵名' 例如: sc delete svn

 對於sc的命令,windows不常用,但是在linux下經常用service命令,其實這兩個命令都是一樣的,通過svn在windows下注冊的例子


總結:

今天安裝apache報錯了,提示服務apache2.2已經存在.使用sc delete命令刪除apache2.2服務後,重新安裝成功。順便也熟悉了一下,sc命令的用法.