Linux中service文件详解
1. 什么是systemd service
systemd service是一种以 .service 结尾的配置文件,是一个专用于 Linux 操作系统的系统与服务管理器。简单来说,用于后台以守护精灵(daemon)的形式运行程序。
systemd 服务的内容主要分为三个部分,控制单元 [Unit] 的定义、服务 [Service] 的定义、以及 [Install] 安装部分。
2. 示例详解
[Unit]
Description=httpd #当前配置文件的描述信息
After=network.target #表示当前服务是在那个服务后面启动,一般定义为网络服务启动后启动[Service]
Type=forking #定义启动类型
ExecStart=/usr/local/apache/bin/apachectl start #定义启动进程时执行的命令。
ExecReload=/usr/local/apache/bin/apachectl restart #重启服务时执行的命令
ExecStop=/usr/local/apache/bin/apachectl stop #定义关闭进程时执行的命令。
PrivateTmp=true #是否分配独立空间[Install]
WantedBy=multi-user.target #表示多用户命令行状态
2.1 Unit字段
这个字段主要给出服务描述、启动顺序和依赖关系。
Description字段给出当前服务的简单描述。
Documentation字段给出文档位置。
After字段表示在什么服务之后启动。
Before字段表示在什么服务之前启动。
After和Before字段只涉及启动顺序,不涉及依赖关系。Wants字段表示该服务和某服务存在某种弱依赖关系,即某服务停止运行或退出不影响该服务继续运行。
Requires字段则表示”强依赖”关系,即某服务停止运行或退出,改服务也必须停止运行。
Wants字段与Requires字段只涉及依赖关系,与启动顺序无关,默认情况下是同时启动的。
2.2 Service字段
这个字段主要给出服务的启动行为,如何启动、重启、停止。
Type字段:定义启动类型。它可以设置的值如下:- simple(默认值):ExecStart字段启动的进程为主进程- forking:ExecStart字段将以fork()方式启动,此时父进程将会退出,子进程将成为主进程- oneshot:类似于simple,但只执行一次,Systemd 会等它执行完,才启动其他服务- dbus:类似于simple,但会等待 D-Bus 信号后启动- notify:类似于simple,启动结束后会发出通知信号,然后 Systemd 再启动其他服务- idle:类似于simple,但是要等到其他任务都执行完,才会启动该服务。一种使用场合是为让该服务的输出,不与其他服务的输出相混
ExecStart字段:定义启动进程时执行的命令,就是手动启动时执行的命令。ExecReload字段:重启服务时执行的命令。ExecStop字段:停止服务时执行的命令。ExecStartPre字段:启动服务之前执行的命令。ExecStartPost字段:启动服务之后执行的命令。ExecStopPost字段:停止服务之后执行的命令。
KillMode字段:定义 Systemd 如何停止 sshd 服务。它可以设置的值如下:- control-group(默认值):当前控制组里面的所有子进程,都会被杀掉- process:只杀主进程- mixed:主进程将收到 SIGTERM 信号,子进程收到 SIGKILL 信号- none:没有进程会被杀掉,只是执行服务的 stop 命令
Restart字段:定义了 sshd 退出后,Systemd 的重启方式。它可以设置的值如下:- no(默认值):退出后不会重启- on-success:只有正常退出时(退出状态码为0),才会重启- on-failure:非正常退出时(退出状态码非0),包括被信号终止和超时,才会重启- on-abnormal:只有被信号终止和超时,才会重启- on-abort:只有在收到没有捕捉到的信号终止时,才会重启- on-watchdog:超时退出,才会重启- always:不管是什么退出原因,总是重启对于守护进程,推荐设为on-failure。对于那些允许发生错误退出的服务,可以设为on-abnormal。
RestartSec字段:表示 Systemd 重启服务之前,需要等待的秒数。
user字段可以设置服务的用户名
WorkingDirectory字段指定服务的安装目录
2.3 Install字段
该字段定义如何安装这个配置文件,即怎样做到开机自启。
WantedBy字段:表示该服务所在的 Target。Target的含义是服务组,表示一组服务。WantedBy=multi-user.target指的是服务所在的Target是multi-user.targetSystemd 有默认的启动 Target。就是multi-user.target,在这个组里的所有服务,都将开机启动。查看 multi-user.target 包含的所有服务
systemctl list-dependencies multi-user.target
Linux中service文件详解相关推荐
- linux中fstab文件详解
From:http://www.winu.cn/space-14160-do-blog-id-1105.html 我们在linux中常常用mount命令把硬盘分区或者光盘挂载到文件系统中./etc/f ...
- linux中inittab文件详解
转载地址:http://www.2cto.com/os/201108/98426.html](http://www.2cto.com/os/201108/98426.html init的进程号是1(p ...
- linux passwd是什么文件,Linux中passwd文件详解
Linux的用户信息很多都保存在这个/etc/passwd文件中,以前觉得这种配置文件挺难看懂的,但是静下心来瞅瞅其实也就一点东西,我们来一起看下. 文件样例root@myths-X450LD:/ho ...
- Linux中iptraf命令详解(IP局域网监控工具)
2019独角兽企业重金招聘Python工程师标准>>> Linux中iptraf命令详解(IP局域网监控工具) 发布时间:2017-12-27 20:46:03 作者:佚名 ...
- centos7之service文件详解及systemctl命令使用
centos7之service文件详解及systemctl命令使用 1. systemed简介 systemd与init的区别及优势 systemd和init的区别 systemd对比init的优势 ...
- linux中mkdir命令含义,Linux中mkdir命令详解
Linux中mkdir命令详解 linux mkdir用来创建目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1. 新建一个文件夹 one 2. 新建三个 ...
- Linux中etc目录详解
Linux中etc目录详解 /etc目录 包含很多文件.许多网络配置文件也在/etc 中. /etc/rc or/etc/rc.d or/etc/rc*.d 启动.或改变运行级时运行的sc ...
- linux中dd命令详解,Linux中DD命令详解
Linux中DD命令详解 1.dd命令简介 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换.可以用该命令实现DOS下的diskcopy命令的作用.先用dd命令把软盘上的 ...
- linux语言的说明顺序有哪些,(linux常用头文件详解.doc
(linux常用头文件详解 linux常用头文件详解 POSIX标准定义的头文件??????? 目录项 ???????? 文件控制 ??? 文件名匹配类型 ??? 路径名模式匹配类型 ??????? ...
最新文章
- 「要拼就拼运维」5分钟一台?它让我爱上工作了!
- 转MFC消息映射梳理
- 成功解决urllib.error.URLError urlopen error Errno 11004 getaddrinfo failed
- Java1.使用二分搜索算法查找任意N个有序数列中的指定元素。 2.通过上机实验进行算法实现。 3.保存和打印出程序的运行结果,并结合程序进行分析,上交实验报告。 4.至少使用两种方法进行编程,直接查
- ORACLE中科学计数法显示问题的解决
- android服务自动重启,安卓service关闭后怎么自动重启
- 深入浅出MFC文档/视图架构之文档模板
- 【转】构建微服务架构的最佳实践2/3
- 1.3编程基础之算术表达式与顺序执行 09 与圆相关的计算
- 基于JAVA+SpringMVC+MYSQL的在线音乐网站
- 72. 编辑距离(JavaScript)
- 学习python的日常7
- C++基础:C++的封装/继承/多态
- 第13讲++连接查询和子查询
- python中的变量的学习
- 数字图像处理学习路线
- Python调用华为API实现人脸检测
- 大疆御2电池数据查看教程
- 让校园生活更轻松的十大Android应用程序
- Tomcat-线程模型及设计精髓
热门文章
- 笔记 09-集合(HashSet HashMap TreeMap) 练习
- 使用validate注解做校验以及自定义validate注解
- 异步电机三相电流滞环矢量控制
- 交互式机器学习/ 强化学习在图像领域中的应用
- QCharts随时间流逝
- 亚马逊个人创业这条路行的通吗?
- 计算机在日常办公众的应用论文,计算机及应用基础专业论文.docx
- 什么是视距传播,如何验证微波链路视线
- 【GPT-4】立即停止训练比 GPT-4 更强的模型,至少六个月!马斯克、图灵奖得主等数千 AI 专家紧急呼吁
- 工程流体力学笔记暂记42 (收缩喷管中的流动)