Linux服务启动停止命令有哪些?

在Linux系统中,服务的启动、停止、重启和状态管理是系统管理员日常操作的核心内容之一,不同版本的Linux发行版可能使用不同的服务管理工具,主要包括传统的System V init(SysVinit)和现代的systemd,以下将详细介绍这两类工具中常用的命令,并通过表格对比其使用方法,帮助用户高效管理服务。

linux启动停止服务的命令
(图片来源网络,侵删)

System V init(SysVinit)服务管理命令

SysVinit是基于运行级别的服务管理方案,通过脚本文件控制服务的启动和停止,常见的命令包括servicechkconfig,适用于CentOS 6及更早版本、Debian 7等系统。

  1. service命令
    service命令用于控制当前运行级别的服务状态,基本语法为service 服务名 操作

    • 启动服务:service httpd start(启动Apache服务)
    • 停止服务:service nginx stop(停止Nginx服务)
    • 重启服务:service mysqld restart(重启MySQL服务)
    • 查看服务状态:service sshd status(检查SSH服务状态)

    service命令本质上是调用/etc/init.d/目录下的脚本文件,例如service httpd start实际执行的是/etc/init.d/httpd start

  2. chkconfig命令
    chkconfig用于管理服务的开机自启状态,需配合--level参数指定运行级别(默认为所有级别)。

    linux启动停止服务的命令
    (图片来源网络,侵删)
    • 设置服务开机自启:chkconfig httpd on
    • 关闭服务开机自启:chkconfig nginx off
    • 查看服务开机自启状态:chkconfig --list httpd
    • 仅在运行级别3和5开启自启:chkconfig --level 35 mysqld on

systemd服务管理命令

systemd是现代Linux发行版(如Ubuntu 16.04+、CentOS 7+、Debian 8+)的默认初始化系统,采用并行启动和依赖管理机制,功能更强大,核心命令为systemctl

  1. 基本操作命令

    • 启动服务:systemctl start nginx.service(可省略.service后缀)
    • 停止服务:systemctl stop httpd
    • 重启服务:systemctl restart sshd
    • 重新加载配置(不中断服务):systemctl reload nginx
    • 查看服务状态:systemctl status mysql(显示详细运行信息和日志)
  2. 开机自启管理

    • 启用开机自启:systemctl enable cron(创建符号链接到/etc/systemd/system/目标目录)
    • 禁用开机自启:systemctl disable firewalld
    • 查看是否启用自启:systemctl is-enabled vsftpd
  3. 服务状态与日志

    linux启动停止服务的命令
    (图片来源网络,侵删)
    • 查看活跃服务列表:systemctl list-units --type=service --state=running
    • 查看失败的服务:systemctl --failed
    • 查看服务日志:journalctl -u docker.service(查看Docker服务的日志)

命令对比与使用场景

以下是SysVinit和systemd命令的对比表格,方便快速查阅:

功能SysVinit命令systemd命令说明
启动服务service 服务名 startsystemctl start 服务名两者均立即启动服务,但systemd支持并行加载
停止服务service 服务名 stopsystemctl stop 服务名停止运行中的服务
重启服务service 服务名 restartsystemctl restart 服务名先停止后启动,适用于需要完全重置的场景
重新加载配置无(需手动重启)systemctl reload 服务名动态读取新配置而不中断服务(如Nginx)
开机自启chkconfig 服务名 onsystemctl enable 服务名设置系统启动时自动加载服务
关闭开机自启chkconfig 服务名 offsystemctl disable 服务名禁止服务随系统启动
查看服务状态service 服务名 statussystemctl status 服务名显示服务是否运行及进程ID等详细信息
查看开机自启状态chkconfig --list 服务名systemctl is-enabled 服务名检查服务是否设置为开机自启

注意事项

  1. 权限问题:所有命令均需root权限或通过sudo执行,普通用户可能遇到“Access denied”错误。
  2. 服务名称差异:不同发行版的服务名称可能不同,如CentOS 7中Apache服务名为httpd,而Ubuntu中为apache2
  3. 依赖管理:systemd会自动处理服务依赖关系,而SysVinit需手动检查脚本中的依赖顺序。
  4. 日志查看:systemd使用journalctl统一管理日志,而SysVinit的日志通常分散在/var/log/目录或服务的日志文件中。

相关问答FAQs

Q1: 如何判断当前系统使用的是SysVinit还是systemd?
A1: 可以通过以下方法判断:

  • 执行命令ls -l /sbin/init,若结果为/lib/systemd/systemd,则使用systemd;若为/etc/init.d/rc,则为SysVinit。
  • 或查看进程列表:ps -p 1 -o comm,输出为systemd则使用systemd,输出为init则为SysVinit。

Q2: 为什么使用systemctl enable后服务仍未开机自启?
A2: 可能原因包括:

  • 服务未正确安装:需确保服务对应的软件包已安装,且服务文件位于/usr/lib/systemd/system/目录下。
  • 手动修改了服务文件:若服务文件被移动或删除,需重新执行systemctl daemon-reload重新加载配置。
  • 镜像问题:在容器环境中,可能因缺少--privileged权限导致符号链接创建失败。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/450774.html<

(0)
运维的头像运维
上一篇2025-11-06 17:35
下一篇 2025-11-06 17:41

相关推荐

  • Linux zip文件解压命令具体怎么用?

    在Linux系统中,处理zip文件是日常运维和开发中常见的操作,而掌握zip文件的解压命令能够高效管理压缩包内容,Linux环境下解压zip文件主要依赖unzip命令,该工具功能强大,支持多种参数和选项,能够满足不同场景下的解压需求,以下将详细介绍unzip命令的使用方法、常用参数、实际应用场景以及注意事项,帮……

    2025-11-15
    0
  • Linux服务启动停止命令有哪些?

    在Linux系统中,服务的启动、停止和重启是系统管理的基础操作,不同的Linux发行版可能使用不同的服务管理工具,常见的有Systemd、SysVinit和Upstart,Systemd是目前主流的初始化系统,被广泛应用于CentOS 7+、Ubuntu 16.04+等版本;而SysVinit则多见于 olde……

    2025-11-14
    0
  • Java命令行启动jar,参数怎么配?

    在Java开发中,通过命令行启动JAR包是一项基础且重要的技能,无论是运行简单的工具程序,还是部署企业级应用,掌握命令行启动JAR包的方法都能提高开发和运维效率,本文将详细介绍Java命令行启动JAR包的各种场景、参数配置及常见问题,帮助读者全面掌握这一技能,我们需要明确JAR包的结构,JAR(Java Arc……

    2025-11-04
    0
  • svn服务器启动命令是什么?

    svn服务器启动命令是Subversion版本控制系统中用于启动和管理服务器的核心指令,通过该命令可以配置监听端口、访问权限、数据仓库路径等关键参数,确保团队成员能够通过协议(如svn://、http://)安全地访问版本库,以下从命令基础语法、常用参数、配置文件关联、多实例管理、日志监控及故障排查等方面进行详……

    2025-10-09
    0

发表回复

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