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 的启动流程](http://image109.360doc.com/DownloadImg/2022/03/1417/241136921_1_20220314051536788.png)
|