本文主要是介绍systemd 的组成和使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
systemd 是linux的系统与服务管理器
主要组成
资源限制
-
作为系统实例运行时
- system.conf 配置文件
- system.conf.d 配置目录
-
作为用户实例运行时
- user.conf 配置文件
- user.conf.d 配置目录
环境限制
-
系统单元目录
- /etc/systemd/system
- /usr/local/lib/systemd/system
- /usr/lib/systemd/system
-
用户单元目录
- /etc/systemd/user
- /usr/lib/systemd/user
执行流程
systemd|| 读取V
配置(文件/目录) A|| 执行V
(系统/用户)单元目录 B|| 调用V
可执行文件(各种具体的服务) C
例子
systemd|| 读取V配置(无) A|| 执行V
/etc/systemd/system/rc-local.service B
(/lib/systemd/system/rc-local.service)|| 调用V
/etc/rc.local C
由于没有配置(文件/目录)
这里就涉及(系统/用户)单元目录
和可执行文件(各种具体的服务)
,即 B 和 C 两步
1, B 部分
rc-local.service
编辑 rc-local.service 文件
# rc-local.service
[Unit]
Description=/etc/rc.local [Service]
Type=forking
ExecStart=/etc/rc.local start [Install]
WantedBy=multi-user.target
系统单元目录/etc/systemd/system
中的文件一般以软连接的方式存在.rc-local.service
由操作系统提供,不需要创建了. 在/etc/systemd/system
下创建它的软连接即可. systemctl enable 就是完成这个工作.
sudo systemctl enable rc-local.service
效果等同于
ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
2, C 部分
/etc/rc.local
创建个shell文件,并赋予可执行权限
sudo touch /etc/rc.local
chmod 755 /etc/rc.local
编辑 rc.local 文件
#!/bin/bash
echo "rc.local run" > /var/log/test.log
这篇关于systemd 的组成和使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!