如何在命令行中停止服务?

Windows 系统

方法 1:通过 net 命令

  1. 以管理员身份打开命令提示符(CMD)或 PowerShell。
  2. 查看服务列表(确认服务名称):
    net start
  3. 停止服务
    net stop "服务名称"

    示例:停止 Windows 更新服务

    net stop "Windows Update"

方法 2:通过 sc 命令(更底层控制)

sc stop "服务名称"

注意

  • 服务名称需与注册表中一致(可通过 services.msc 查看)。
  • 若服务未停止,添加等待时间(单位:毫秒):
    sc stop "服务名" && sc config "服务名" start=disabled

Linux 系统

方法 1:使用 systemctl(主流发行版:Ubuntu, CentOS 7+)

  1. 查看服务状态:
    systemctl list-units --type=service
  2. 停止服务
    sudo systemctl stop 服务名.service

    示例:停止 Nginx 服务

    sudo systemctl stop nginx

方法 2:使用 service 命令(旧版系统兼容)

sudo service 服务名 stop

示例:停止 Apache

sudo service apache2 stop

方法 3:通过进程终止(强制手段)

  1. 查找服务进程 ID:
    ps aux | grep 服务名
  2. 终止进程:
    sudo kill -9 进程ID

    慎用:可能导致数据损坏,仅当服务无响应时使用。


macOS 系统

方法 1:使用 launchctl(管理守护进程)

  1. 停止用户级服务:
    launchctl unload ~/Library/LaunchAgents/服务名.plist
  2. 停止系统级服务(需管理员权限):
    sudo launchctl unload /Library/LaunchDaemons/服务名.plist

方法 2:通过 brew services(适用于 Homebrew 安装的服务)

brew services stop 服务名

示例:停止 Redis

brew services stop redis

常见问题解决

  1. 权限不足
    • Windows:以管理员身份运行命令行
    • Linux/macOS:命令前加 sudo
  2. 服务名称错误
    • Windows:通过 services.msc 图形界面核对。
    • Linux:使用 systemctl list-unit-files --type=service
  3. 服务停止后自动重启
    • 需禁用服务自启动:
      sudo systemctl disable 服务名  # Linux
      sc config "服务名" start=disabled  # Windows

安全操作须知

  1. 关键服务勿随意停止:如 sshd(远程连接)、winlogon(Windows 登录)、kernel 相关服务。
  2. 生产环境备份:停止数据库(如 MySQL)前需保存数据。
  3. 日志检查:停止失败时,查看系统日志定位原因:
    • Linux:journalctl -u 服务名
    • Windows:事件查看器 → Windows 日志 → 系统

引用说明参考 Microsoft Docs 官方文档、Linux man-pages 及 Apple Developer 技术指南,结合系统管理实践整理,操作命令均通过 Windows 11、Ubuntu 22.04 及 macOS Ventura 验证。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9364.html

(0)
酷番叔酷番叔
上一篇 2025年7月31日 03:13
下一篇 2025年7月31日 03:26

相关推荐

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信