一、什么是 Windows 服务
Windows 服务是一类在后台运行、完成特定任务的程序,核心特点:
- 无图形界面,区别于普通桌面EXE程序;
- 开机自启,可跟随操作系统自动运行,不需要用户登录;
- 常驻后台,静默持续提供功能;
- 调试方式特殊:正式运行依托服务管理器,开发调试阶段可通过命令行启停。
使用场景
适合需要长期后台运行、定时执行、无需人工交互的任务:
- 定时任务(定时采集数据、定时同步、定时爬虫抓取资讯)
- 后台监听服务(Socket服务、消息消费程序)
- 系统常驻代理、监控程序
开发痛点
Windows 服务本身代码逻辑不难,但如果操作不当,容易出问题:
- 缺少控制台窗口,日志排查、调试很不方便;
- 运行身份为系统账户(本地系统/本地服务),权限、工作目录、网络访问和普通用户程序存在差异;
- 处理不当极易出现启动失败、程序闪退、功能异常。
很多日常的桌面程序,可能都会有一个后台的windows服务在运行的。
二、查看电脑上的 Windows 服务
- 快捷键
Win + R,输入services.msc回车,直接打开【服务(本地)】管理器; - 此窗口可以看到本机全部已安装服务,包含信息:
- 服务名称、描述、当前运行状态
- 启动类型:自动/手动/禁用/自动(延迟启动)
- 登录为:运行账户(本地系统、本地服务、网络服务等)
我们自己开发的程序打包注册后,就会出现在这个列表里。
1. 服务启停常用命令(管理员CMD/PowerShell)
# 启动服务
net start 服务名
# 停止服务
net stop 服务名Code language: PHP (php)
说白了,windows服务也是一种程序,它既不是控制台程序,也不是web程序,更不是windows桌面程序,它是一种运行在后台的程序,没有界面,连控制台界面都没有,就是默默在后台提供服务的一种程序。它可以随着操作系统启动自动运行的,性能高。
Next: 第一个 Windows Service