为systemd添加一个服务

新建一个服务

systemdunit文件分布在

系统模式

  • /usr/lib/systemd/system/ 软件包安装

  • /etc/systemd/system/ 系统管理员维护

用户模式

  • /usr/lib/systemd/user/ 软件包安装

  • /etc/systemd/user/ 管理员维护的用户服务

  • ~/.config/systemd/user/ 用户自身的服务

新建服务时,新建一个sample.service,比如要实现重启防火墙的功能,格式如下

[Unit]
Description=Restart firewalld.service # 描述
After=ovirt-engine.service # 服务在其他服务之后启动
Requires=ovirt-engine.service # 服务需要其他服务启动后启动

[Service]
Type=oneshot # 类型,只运行一次
ExecStartPre=/usr/bin/env systemctl stop firewalld # 启动之前执行
ExecStart=/usr/bin/env systemctl start firewalld # 启动执行
KillMode=none # 重启模式
Restart=no # 重启

[Install]
WantedBy=multi-user.target # 安装时依赖的目标

添加好需要的service文件之后,使用

systemctl daemon-reload 

重新加载所有的service

使用systemctl list-units --type=service,可以查询到刚才添加的服务

使用systemctl enable sample使其开机加载

参考资料










相关文章

## 新建一个服务 `systemd`的`unit`文件分布在 >系统模式 + `/usr/lib/systemd/system/` 软件包安装...
保存下面的配置到 /lib/systemd/system/nginx.service ``` [Unit] Description=The NGINX HTTP and rev...
sysvinit 命令|systemd 命令|说明 -|-|- service httpd start| systemctl start httpd.service|启动htt...
引入简介saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行...
从 init 系统说起linux 操作系统的启动首先从 BIOS 开始,接下来进入 boot loader,由 bootloader 载入...
目录预热管理单个 unit查看系统上的 unit管理不同的操作环境(target unit)检查 unit 之间的依赖性相关的...