Linux 服务管理两种方式service和systemctl | 您所在的位置:网站首页 › linux查看当前启动的服务目录命令是什么 › Linux 服务管理两种方式service和systemctl |
文章目录
确定当前系统使用的哪种命令用来启动服务
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 initservice命令用于对系统服务进行管理,比如启动(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进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长 systemdsystemd是Linux系统最新的初始化系统(init),作用是提高系统的启动速度,尽可能启动较少的进程,尽可能更多进程并发启动。 根据 Linux 惯例,字母d是守护进程(daemon)的缩写。 Systemd 并不是一个命令,而是一组命令,涉及到系统管理的方方面面。 systemd对应的进程管理命令是systemctl 查看 Systemd 的版本 systemctl --version 管理系统systemctl是 Systemd 的主命令,用于管理系统。 # 重启系统 $ |
CopyRight 2018-2019 实验室设备网 版权所有 |