Centos7中systemd的管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7中systemd的管理相关的知识,希望对你有一定的参考价值。

管理服务

安装应用在/etc/systemd/system下会生成一系列应用的配置文件等,系统管理员和用户使用

/usr/lib/systemd/system:发行版打包者使用

时间单位默认是秒,毫秒(ms),分钟(m)

service unit file文件组成:

[Unit]:描述,依赖关系

Description:描述

After:服务要在After定义的后面的服务启动之后再启动,Before正好相反

Requires:必要的依赖关系,依赖于服务的应用

Wants:弱依赖;

Conflicts:冲突关系,这个地方定义的与服务的冲突关系


[Service]:Service类型

Type:会影响Execstart启动类型,不定义默认为simple

notify:在服务启动之后会发送通知消息

forking:通过spawns延伸出子进程,父进程关闭;

oneshot:一次性,做完就退出

dbus:取得D-Bus的名称才能使用,后方还要定义BusName=才行

idle:不紧急的类型,可等待所有启动完成后再启动


启动服务:

systemctl start "服务名称"(可以同时启动多个服务)


查看服务状态:

systemctl status "服务名称"

                      -l:查看详细的启动过程,如果启动中出现问题,系统会指出哪一个位置出现了问题

重启服务:

systemctl restart "服务名称"


加载配置文件并重启:

systemctl reload "服务名称"


禁止手动启动服务:

systemctl mask "服务名称" | 关闭此功能:systemctl unmask "服务名称"


单单查看服务的状态:

systemctl is-active "服务名称"(启动则是active,非启动为unknow;启动的服务$0w为0,非启动$0为1)


查看所有已经启动的服务:

systemctl list-units -t service


查看所有服务的状态:

systemctl list-unit-files --type service --all

状态解释:

inactive:不运行

enabled:开机启动

disabled:开机不启动

static:开机不启动,也不可手动启动,但可以被另一个服务启动


查看服务开机是否启动

systemctl is-enable "服务名称"


设置开机启动

systemctl enable "服务名称"


关闭开机启动

systemctl disable "服务名称"


查看服务所依赖的一系列资源

systemctl list-dependencies "服务名称"


列出失败的服务:

systemctl --failed -t service


杀掉服务

systemctl kill "服务名称"


Centos 7上的chkconfig部分对应的是/lib/systemd/system/*.target

查看当前的默认等级使用systemctl get-default;

修改使用systemctl set-default "/lib/systemd/system/某一个target"


在grub菜单按"e",找到linux16那一行,在最后添加rd.break;ctrl-x启动

mount -o remount,rw /sysroot

chroot /sysroot

passwd

touch /.autorelabel

exit

reboot


以上是关于Centos7中systemd的管理的主要内容,如果未能解决你的问题,请参考以下文章

CentOS7进程管理systemd详解

centos7 中 systemd systemctl管理服务的命令

Centos7中systemd的管理

技术指南centos7下systemd服务管理全解

CentOS7管理系统服务命令systemd

Centos7 Systemd 使用详解