一、什麼是 Windows 服務
Windows 服務是一種在背景執行、負責特定工作的程式,主要特性如下:
- 沒有圖形介面,和一般桌面 EXE 程式不同;
- 開機自動啟動,可跟隨作業系統執行,不需要使用者登入;
- 常駐背景,在幕後持續提供功能;
- 偵錯方式特殊:正式環境透過服務管理員執行,開發階段可使用命令列啟動與停止。
使用場景
適合需要長時間背景執行、排程執行、不需要人為互動的任務:
- 排程工作(定時資料蒐集、定時同步、爬取網路資訊)
- 背景監聽服務(Socket 服務、訊息消費程式)
- 系統常駐代理、監控程式
開發痛點
Windows 服務本身的程式邏輯並不複雜,但操作不當很容易產生問題:
- 沒有主控台視窗,日誌排查與偵錯相當麻煩;
- 以系統帳號執行(本機系統/本機服務),權限、工作目錄、網路存取都和一般使用者程式有差異;
- 處理不好很容易發生啟動失敗、程式閃退、功能異常。
很多日常使用的桌面程式,背後都會有一支 Windows 服務在背景運作。
二、查看電腦中的 Windows 服務
- 快捷鍵
Win + R,輸入services.msc按下 Enter,直接打開【服務(本機)】管理工具; - 這個介面可以看到本機所有已安裝的服務,包含資訊:
- 服務名稱、描述、目前執行狀態
- 啟動類型:自動/手動/已停用/自動(延遲啟動)
- 登入身分:執行帳號(本機系統、本機服務、網路服務等)
我們自己開發的程式打包註冊之後,就會顯示在這個清單裡。
1. 服務啟停常用指令(管理員 CMD / PowerShell)
# 啟動服務
net start 服務名稱
# 停止服務
net stop 服務名稱Code language: PHP (php)
簡單來說,Windows 服務是一種特殊程式。它既不是主控台程式,也不是網站程式,更不是一般桌面程式。它在背景執行,沒有任何介面,連主控台視窗都沒有,默默在後台提供服務。可以跟作業系統一起開機啟動,執行效能很好。
Windows 服務
Next: 第一個 Windows Service