Windows服務
微軟視窗操作系統組件 来自维基百科,自由的百科全书
Windows服務是指Windows NT作業系統中的一種執行在後台的電腦程式。[1]它在概念上類似於Unix守護行程。[1]Windows服務必須符合服務控制管理器(負責管理Windows服務的組件)的介面規則和協定。[2]
Windows服務可以組態為在作業系統啟動時執行,並且在Windows執行期間持續在背景執行。服務也可以手動或基於某個事件而啟動。Windows NT作業系統包含眾多服務,分別執行在三種使用者帳戶環境中:系統、網路服務和本機服務。這些Windows組件通常採用Windows服務代管處理程序。因為Windows服務執行在其自身的專用使用者帳戶中,它們可以在使用者未登入時活動。
在Windows Vista之前,安裝為「互動服務」的服務可以與Windows桌面互動和顯示圖形化使用者介面。但在Windows Vista中,互動服務已被棄用,並且可能無法正常執行。[3][4]
管理
Windows管理員可以管理服務,通過:
- 「服務」擴充(在Windows控制台的「管理工具」中)
- Sc.exe
- Windows PowerShell
服務擴充是基於Microsoft管理控制台提供的一個組件,它可以連接到本機電腦或網路上的遠端電腦,使用者可以:[1]
- 檢視已安裝服務的列表,包括服務名稱、說明和組態
- 開始、停止、暫停或重新啟動服務[5]
- 適用時指定服務的參數
- 更改啟動類型。可接受的啟動類型有:
- 自動:服務會在系統登入時啟動。
- 自動(延遲啟動):服務會在系統啟動後過一會啟動。此選項在Windows Vista中引入,目的是降低系統啟動後到達桌面的等待時間。但是,不是所有服務都支援延遲啟動。[6]
- 手動:服務只會在被明確呼叫時啟動。
- 停用:服務被停用,開機時將不會啟動,開機後必須要再設定為自動或手動才能將服務啟用。
- 更改各服務執行的使用者帳戶上下文
- 組態服務發生失敗時應採取的恢復操作
- 查閱服務的依賴關係,了解服務或裝置驅動程式依賴於哪些特定服務,或者特定服務依賴於哪些服務或裝置驅動程式
- 匯出服務列表為文字檔案或CSV檔案
服務擴充的命令列介面是Sc.exe,名為「服務控制」實用工具。[7]此工具在Windows XP[8]及更高版本中提供。[9]
Sc.exe的管理範圍僅限於本機電腦。從Windows Server 2003開始,Sc.exe不僅能做到「服務擴充」支援的操作,還可以安裝和移除服務。[9]
Windows PowerShell本質上可以管理Windows服務,相關命令如下:
在服務擴充、Sc.exe和PowerShell以外,Windows還包括第三方可以操作的組件。Net.exe可以啟動、停止、暫停或恢復一個Windows服務。[18]在Windows Vista及更高版本中,Windows 工作管理員可以顯示已安裝服務的列表和啟動與暫停它們。MSConfig可以啟用或停用Windows服務。
開發
可以使用如Microsoft Visual Studio或Embarcadero Delphi等開發工具建立一個Windows服務。為了成為一個Windows服務,程式在編寫上必須處理「服務控制管理器」的啟動、停止和暫停訊息。服務控制管理器是負責啟動和停止服務的Windows組件。
Windows Resource Kit for Windows NT 3.51、Windows NT 4.0和Windows 2000提供工具來控制服務的註冊和使用:SrvAny.exe
作為服務封裝器來處理預期的服務介面(例如處理service_start
,然後回應service_started
或service_failed
)並允許組態任何可執行檔或指令碼作為一個服務。Sc.exe
可以安裝、啟動、停止和移除新服務。[19]
參見
- Windows服務
- 概念
參考資料
進一步資料
Wikiwand - on
Seamless Wikipedia browsing. On steroids.