Linux 服务管理两种方式service和systemctl 您所在的位置:网站首页 linux查看当前启动的服务目录命令是什么 Linux 服务管理两种方式service和systemctl

Linux 服务管理两种方式service和systemctl

2024-06-27 03:58| 来源: 网络整理| 查看: 265

文章目录 确定当前系统使用的哪种命令用来启动服务 SysV init systemd 管理系统 systemctl命令兼容了service systemctl命令管理systemd的资源Unit .mount文件 .service文件 .target文件 .wants文件 运行级别概念的区分 管理服务的启动、重启、停止、重载、查看状态等常用命令区分 设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令 RHEL Linux ubuntu Linux 参考

确定当前系统使用的哪种命令用来启动服务

SysV init 或者 systemd 使用下面的命令:

ps -p 1

例如,输出:

PID TTY TIME CMD 1 ? 00:00:02 systemd SysV init

service命令用于对系统服务进行管理,比如启动(start)、停止(stop)、重启(restart)、查看状态(status)等。 相关的命令还包括chkconfig、ntsysv等,chkconfig用于查看、设置服务的运行级别,ntsysv用于直观方便的设置各个服务是否自动启动。

重点: service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务。

service的内幕: service运行指定服务(称之为System V init脚本)时,把大部分环境变量去掉了,只保留LANG和TERM两个环境变量,并且把当前路径置为/,也就是说是在一个可以预测的非常干净的环境中运行服务脚本。这种脚本保存在/etc/init.d目录中,它至少要支持start和stop命令。

service命令其实是去/etc/init.d目录下,去执行相关程序,如下所示:

# service命令启动redis脚本 service redis start # 直接启动redis脚本 /etc/init.d/redis start # 开机自启动 update-rc.d redis defaults

其中脚本需要我们自己编写。

这种方式有两个缺点:

启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。 启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长 systemd

systemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。 根据 Linux 惯例,字母d是守护进程(daemon)的缩写。

Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。

systemd对应的进程管理命令是systemctl

查看 Systemd 的版本

systemctl --version 管理系统

systemctl是 Systemd 的主命令,用于管理系统。

# 重启系统 $


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有