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文件。