systemctl 和 service 区别及命令详解

24 篇文章 0 订阅
6 篇文章 0 订阅

System V & systemd 

基本概念

System V 初始化系统是一种最早的 Linux 服务管理方式,使用/etc/init.d 下的脚本来管理服务。

service 命令就是管理 System V 类型服务的命令。它主要用于操作/etc/init.d下的脚本。

System V 类型服务的特点是:

  • 初始化脚本存放在/etc/init.d目录下
  • 利用/etc/init.d 下的脚本来管理服务,例如 /etc/init.d/httpd 启动httpd服务
  • service 命令用于管理这些服务,例如 service httpd restart 重启httpd服务

而 systemd 是一种新的服务管理方式,使用 systemctl 命令来管理 systemd类型的服务。

systemd 类型服务的特点是:

  • 初始化脚本存放在 /etc/systemd/system目录下
  • systemd unit 文件描述服务的各种属性
  • systemctl 命令管理这些服务,例如 systemctl restart httpd.service 重启httpd服务

所以说:

System V 类型指的是使用/etc/init.d 脚本和 service 命令管理服务的旧的Linux服务;

systemd 类型则是新的Linux服务管理方式,使用systemctl 来管理。

希望我的解释能帮助你更好地理解System V类型和systemd类型的区别。如果仍然有任何疑问,欢迎继续提出。

主要区别

System V 和 systemd是Linux系统中最重要的两种服务管理方式:

System V是较早的一种服务管理方式,使用/etc/init.d目录下的脚本来管理服务。

systemd是当前主流的服务管理方式,使用systemd daemon管理所有系统资源。

脚本位置:

System V: /etc/init.d

systemd: /etc/systemd/system

命令:

System V: service命令

systemd: systemctl命令

管理性:

System V: 针对单个服务管理

systemd: 统一管理所有服务

管理方式:

System V: 通过运行/etc/init.d下的脚本来启动服务

systemd:通过加载systemd unit文件来管理服务

启动速度:

System V: 较慢,顺序启动服务

systemd:较快,并行启动服务

优点:

System V: 简单易理解

systemd: 更高效,统一管理方式

主流Linux发行版的变迁:

SysVinit(System V) -> Upstart -> systemd

总的来说,systemd具有更高的效率、简洁的管理方式,已成为主流Linux服务管理方式。

希望以上解释能帮助您更好理解System V和systemd的区别。如果仍然有任何疑问,欢迎继续补充。

systemctl & service

基本概念

  • systemctl是Linux系统中的新一代服务管理工具,主要用于管理systemd服务。systemd是一个系统和服务管理器,可用于启动、停止、重启、暂停、恢复和管理系统服务。systemd使用单个配置文件来管理所有服务,可以轻松地管理多个服务并进行并行启动。systemctl工具可以查看、启动、停止、重启、恢复服务,以及查看服务状态和日志等。
  • service是Linux中的传统服务管理工具,主要用于管理SysV服务。SysV是一种传统的Unix系统初始化管理工具,使用 /etc/init.d/ 下的脚本文件来管理系统服务。service命令可以启动、停止、重启、重新加载和查看服务状态。

主要区别

  • systemctl 管理方式更简洁,能够同时管理多个服务。service 命令针对单个服务,
  • systemctl 可以一次性列出和控制所有类型的服务,不仅限于初始化脚本。service 命令只能控制系统 V 类型的服务。
  • systemctl 开机速度更快,系统启动过程更加并行化

常用命令

systemctl命令:

  1. systemctl start service:启动指定的服务。

  2. systemctl stop service:停止指定的服务。

  3. systemctl restart service:重启指定的服务。

  4. systemctl reload service:重新加载指定的服务配置。

  5. systemctl enable service:设置指定的服务为开机自启动。

  6. systemctl disable service:禁止指定的服务开机自启动。

  7. systemctl status service:查看指定服务的状态和详细信息。

  8. systemctl list-units --type=service:列出所有正在运行的服务。

  9. systemctl list-unit-files --type=service:列出所有已经注册的服务。

service命令:

  1. service service start:启动指定的服务。

  2. service service stop:停止指定的服务。

  3. service service restart:重启指定的服务。

  4. service service reload:重新加载指定的服务配置。

  5. service service status:查看指定服务的状态和详细信息。

  6. service --status-all:列出所有正在运行的服务。

  7. chkconfig --list:列出所有已经注册的服务和它们的运行级别。

结论:

总的来说,systemctl和service都是管理Linux系统服务的工具,但systemctl更加先进,可以方便地管理systemd服务,而service适用于管理传统的SysV服务。系统越新的越倾向于使用 systemctl 管理系统服务,目前主流的 Linux 发行版如 CentOS7、Ubuntu 16 及以上版本已经默认使用 systemd 作为 init 系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值