详解systemctl 和 service 区别及命令

 更新时间:2023年07月03日 10:16:46   作者:明月一壶酒  
systemctl和service都是管理Linux系统服务的工具,但systemctl更加先进,可以方便地管理systemd服务,而service适用于管理传统的SysV服务,这篇文章主要介绍了systemctl和service区别及命令,需要的朋友可以参考下

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命令:

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

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

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

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

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

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

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

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

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

service命令:

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

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

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

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

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

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

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

结论:

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

到此这篇关于systemctl 和 service 区别及命令详解的文章就介绍到这了,更多相关systemctl 和 service 区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • linux shell中curl 发送post请求json格式问题的处理方法

    linux shell中curl 发送post请求json格式问题的处理方法

    这篇文章主要介绍了linux shell中curl 发送post请求json格式问题的处理方法,文中给大家提到了linux中使用curl发送post请求问题,需要的朋友可以参考下
    2018-07-07
  • linux top命令基本实战

    linux top命令基本实战

    top命令的功能是用于实时显示系统运行状态,包含处理器、内存、服务、进程等重要资源信息,这篇文章主要介绍了linux top命令 实战,需要的朋友可以参考下
    2023-02-02
  • 基于shell的if和else详解

    基于shell的if和else详解

    下面小编就为大家带来一篇基于shell的if和else详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • linux 环境 mysql写入中文报错

    linux 环境 mysql写入中文报错

    本篇文章主要介绍了linux 环境 mysql写入中文报错的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Shell编程之Shell变量学习总结

    Shell编程之Shell变量学习总结

    这篇文章主要介绍了Shell脚本编程中Shell变量的学习总结,需要的朋友可以参考下
    2014-03-03
  • 在Linux命令行中列出带有ls文件的技巧

    在Linux命令行中列出带有ls文件的技巧

    今天小编就为大家分享一篇关于在Linux命令行中列出带有ls文件的技巧,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • 一天一个shell命令 文本操作系列-comm命令用法

    一天一个shell命令 文本操作系列-comm命令用法

    这篇文章主要介绍了linux系统下的comm命令是一个非常实用的文件对比命令,需要的朋友可以参考下
    2016-05-05
  • Linux中popen函数的作用小结

    Linux中popen函数的作用小结

    popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程。这篇文章重点给大家介绍Linux中popen函数的作用,感兴趣的朋友一起看看吧
    2018-05-05
  • linux查看磁盘空间的命令详解

    linux查看磁盘空间的命令详解

    本篇文章主要给大家介绍了linux查看磁盘空间的两个命令,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定大帮助,需要的朋友可以参考下
    2023-12-12
  • Linux命令之网络命令route详解

    Linux命令之网络命令route详解

    route命令是Linux系统中的一个网络管理工具,用于显示和操作IP路由表,它可以用来查看当前系统的路由表信息,添加、删除或修改路由表项,以及显示路由表中的详细信息,本文给大家介绍Linux命令之网络命令route详解,感兴趣的朋友一起看看吧
    2023-10-10

最新评论