OS linux - systemd的配置文件 和target文件

本文详细解析了systemd在CentOS 7中的角色,包括其启动流程、配置文件结构、服务管理方式以及关键配置示例。了解如何通过[Unit]、[Service]和[Install]部分调整服务行为,并探索默认target与服务依赖关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

systemd

Centos 7: systemd        配置文件:/etc/systemd/system;/usr/lib/systemd/system

(Centos 5: SysV init       配置文件:/etc/inittab)

systemd是个守护进程,pid号为1,后面所有启动的服务或进程都是systemd的子进程及子进程的子进程

一旦内核自解压完成,则加载 systemd 进程(其是老式 System V 系统的 init 程序的替代品),并转移控制权到 systemd。

systemd可以被软链接为init

UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Jan23 ?        00:00:01 /sbin/init skip_initramfs

systemd的配置文件

位置:/etc/systemd/system (实际是,符号链接,指向/usr/lib/systemd/system,或/lib/systemd/system)

 

配置文件的格式解释
(实例说明:/etc/systemd/system/default.target.wants/abc.service)

[Unit]
Description=abc service
After=some.service dbus.service
ConditionPathExists=/Abc/bin/Chuck

[Service]
Type=simple
Restart=always
WorkingDirectory=/Abc/bin
ExecStart=/Abc/bin/Chuck

[Install]
WantedBy=default.target

注释
[Unit]
Description=abc service  #描述
After=some.service dbus.service #在some dbus 服务后启动
ConditionPathExists=/Abc/bin/Chuck # 文件存在

[Service]
Type=simple # 服务类型
Restart=always #停止后,无条件重启
WorkingDirectory=/Abc/bin #执行文件存放的路径
ExecStart=/Abc/bin/Chuck #执行文件

[Install]
WantedBy=default.target # 服务所在的target (/etc/systemd/system/default.target)

target文件,依赖其它的target文件

local-fs-pre.target -> local-fs.target
+
emergency.service( /bin/plymouth ; /lib/systemd/systemd-sulogin-shell)->emergency.target->
->
sysinit.target
->
basic.target
->
default.target
->Abc.service

#plymouth 开源的开机动画组件
#sulogin 可以进行单用户登录,在启动时Shell将不会读取/etc/profile或$HOME/.profile文件。

systemd启动流程

图 1:systemd 的启动流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值