Windows 服务

一、什么是 Windows 服务

Windows 服务是一类在后台运行、完成特定任务的程序,核心特点:

  1. 无图形界面,区别于普通桌面EXE程序;
  2. 开机自启,可跟随操作系统自动运行,不需要用户登录;
  3. 常驻后台,静默持续提供功能;
  4. 调试方式特殊:正式运行依托服务管理器,开发调试阶段可通过命令行启停。

使用场景

适合需要长期后台运行、定时执行、无需人工交互的任务:

  • 定时任务(定时采集数据、定时同步、定时爬虫抓取资讯)
  • 后台监听服务(Socket服务、消息消费程序)
  • 系统常驻代理、监控程序

开发痛点

Windows 服务本身代码逻辑不难,但如果操作不当,容易出问题:

  • 缺少控制台窗口,日志排查、调试很不方便
  • 运行身份为系统账户(本地系统/本地服务),权限、工作目录、网络访问和普通用户程序存在差异;
  • 处理不当极易出现启动失败、程序闪退、功能异常。

很多日常的桌面程序,可能都会有一个后台的windows服务在运行的。

二、查看电脑上的 Windows 服务

  1. 快捷键 Win + R,输入 services.msc 回车,直接打开【服务(本地)】管理器;
  2. 此窗口可以看到本机全部已安装服务,包含信息:
    • 服务名称、描述、当前运行状态
    • 启动类型:自动/手动/禁用/自动(延迟启动)
    • 登录为:运行账户(本地系统、本地服务、网络服务等)

我们自己开发的程序打包注册后,就会出现在这个列表里。

1. 服务启停常用命令(管理员CMD/PowerShell)

# 启动服务
net start 服务名
# 停止服务
net stop 服务名Code language: PHP (php)

说白了,windows服务也是一种程序,它既不是控制台程序,也不是web程序,更不是windows桌面程序,它是一种运行在后台的程序,没有界面,连控制台界面都没有,就是默默在后台提供服务的一种程序。它可以随着操作系统启动自动运行的,性能高。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注