关闭
搜索
搜索
本版
帖子
用户
热搜:
程序员
简洁模式
高级模式
用户组: 游客
消息
提醒
新听众
我关注的
帖子
道具
勋章
任务
设置
退出
请
登录
后使用快捷导航
没有帐号?
立即注册
设为首页
收藏本站
开启辅助访问
切换到窄版
登录
or
立即注册
快捷导航
搜索
首页
论坛
BBS
MCU单片机技术
程序员交流
在linux系统中怎么编写SystemdService
[复制链接]
作者:
你不防
版块:
›
嵌入式操作系统
›
linux
发布时间:
2020-9-23 05:51:50
2163
0
返回列表
你不防
当前离线
注册会员
注册会员, 积分 144, 距离下一级还需 56 积分
注册会员
注册会员, 积分 144, 距离下一级还需 56 积分
积分
144
发消息
楼主
电梯直达
你不防
发表于 2020-9-23 05:51:50
|
只看该作者
|
倒序浏览
|
阅读模式
在Centos7以前的版本中,系统管理员都是通过把bash脚本放到/etc/init.d/目录下来控制服务状态,比如启动start、停止stop,重启restart等。而在CentOS7版本中,就不再采用这种方法,而是采用了Unit配置文件来管理服务。接下来我们通过例子来简单讲述一下systemd service编写方法。
学过用过Centos7的朋友,都知道Systemd服务主要内容为:控制单元的定义、服务的定义、安装部分。
我们先写个脚本如下:
# cat systemd_test.sh
#!/bin/bash
while true
do
echo `date`>> /root/systemd_test.txt
sleep 2
done
在脚本执行的时候,会循环(每2秒)把系统时间写入到/root/system_test.txt文件中,脚本不做过多的解释了,太简单了,执行程序的监控此文件即可。
编写systemd service,文件放到/etc/systemd/system目录下。文件内容如下:
# cat /usr/lib/systemd/system/systemd_test.service
Description=date daemon
ExecStart=/root/systemd_test.sh
Restart=always
Type=simple
WantedBy=multi-user.target
执行运行命令:
systemctl start systemd_test.service
systemctl status systemd_test.service
tail -f /root/systemd_test.txt文件如下:
停止该服务:
systemctl stop systemd_test.service
清空systemd_test.txt内容:
> systemd_test.txt
设置该服务为开机自启动,然后重启电脑:
systemctl enable systemd_test.service
启动后查看服务运行状态,以及systemd_test.txt文件内容截图如下,表明开机自启动配置成功。
取消开机自启动命令:
systemctl disable systemd_test.service
systemd配置文件主要项目说明:
控制单元:记录unit文件的通用信息
Description:单元的描述,内容可以任意书写,
服务:记录service的信息
ExecStart:服务启动时执行的命令,通常是服务的主体。若服务类型不是oneshot,那么它只接受一个命令,参数不限制。如果是多个命令用分号隔开。
Restart:定义服务何种情况下重启。
Type:service的种类,simple(默认):启动的程序是主体程序,这个程序退出那么一切都退出;forking:标准 Unix Daemon 使用的启动方式。启动程序后会调用 fork 函数,把必要的通信频道都设置好之后父进程退出,留下守护精灵的子进程;oneshot:就是启动,完成,没进程。
安装:安装信息
WantedBy:任何情况下,服务被启用。
WantedBy =multi-user.target,多用户环境下启用
这是最简单systemd编写,还有很多东西没有涉及,请大家自行学习。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有帐号?
立即注册
收藏
0
相关帖子
•
架构师网络安全实战教程全方位高级网络安全课程
•
【干货】从lsof开始,深入理解Linux虚拟文件系统!
•
独立主机网站转移操作方式
•
Linux操作系统应用试题
•
DBA常用Linux命令
•
LinuxPC登陆天河二号基础操作
•
欲学鸿蒙必先懂Linux:逐项分析Linux目录树的5类18项构成
•
Android面试必备:System、App、Activity启动过程
•
618在某宝上花298买来的Linux全解笔记,感觉4年Linux都白学了
•
【工程师分享】精简Linux的源代码
回复
使用道具
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
表情
@朋友
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
ARM
快速回复
返回顶部
返回列表