systemd.service 参考文档

RHEL6和之前的版本使用的初始进程是init,init是一个线性的启动过程,一个接一个的启动,比较慢;systemd则可以多进程启动,速度提高很多。

  sevice:服务后台进程

  target:此类配置单元为其他配置单元进行逻辑分组。3级多用户模式->multi-user.target,5级图形化模式->graphical.target

自定义服务

  每个服务可以在/usr/lib/systemd/system下添加一个以.service结尾的文件

vim /usr/lib/systemd/system/zabbix_agentd.service
# 添加以服务为名的service文件
[Unit]
Desciption=zabbix_agentd - zabbix monitor client
After=network.target
# 在network启动后再启动
#Before=xxx
# After Before不存在依赖关系,只是启动顺序 [Service]
User=zabbix
Group=zabbix
Type=forking
# 此服务以forking模式运行
PIDFile=/tmp/zabbix_agentd.pid
# PID文件存放位置
ExecStartPre=/usr/bin/rm -f /tmp/zabbix_agentd.pid
# 启动前删除PID文件
ExecStart=/usr/local/zabbix_agent-3.4.15/sbin/zabbix_agentd
# 启动命令
ExecReload=/bin/kill -s HUP $MAINPID
# 重载执行命令
KillSignal=SIGQUIT
TimeoutStopSec=5
# 停止超时时间,如果不能在指定时间内停止,将通过SIGKILL强制终止
KillMode=mixed
# systemd停止服务的方式
Restart=on-failure
# 服务不正常退出后重启
#PrivateTmp=true
# 表示给服务分配独立的临时空间 [Install]
WantedBy=multi-user.target
# 多用户模式

配置字段Type

  simple(默认):# 以ExecStart字段启动的进程为主进程

  forking:  # ExecStart字段以fork()方式启动,启动完成父进程将退出,子进程作为主服务进程持续运行,可以设置PIDFile,以便systemd可靠地识别主服务进程。

  oneshot:  # 类似于simple,但只执行一次,systemd会等它执行完,才启动其他服务

  dbus: # 类似于simple, 但会等待D-Bus信号后启动

  notify:   # 类似于simple, 启动结束后会发出通知信号,然后systemd再启动其他服务

  idle:    # 类似于simple,但是要等到其他任务都执行完,才会启动该服务。

KillMode:

  control-group:当前控制组里的所有子进程,都会被杀掉,默认

  process:只有主进程被终止

  mixed:SIGTERM信号被发送给主进程,SIGKILL信号被发送给子进程

  none:没有进程会被杀掉,只是执行服务的stop命令

Restart:

  no:服务不会重启,默认

  on-success:服务正常退出时重启

  on-failure:服务非正常退出时重启

  on-watchdog:超时退出时重启

  always:无论正常或非正常退出都将重启

ExecStart:启动服务执行的命令及参数

ExecStartPre:启动服务前执行的其他命令

ExecStartPost:服务启动后执行的其他命令

ExecStop:停止服务执行的命令及参数

ExecStopPre:停止服务前执行的其他命令

ExecStopPost:服务停止后执行的其他命令

Centos7 systemctl服务脚本的更多相关文章

  1. Centos7 自定义systemctl服务脚本

    序言篇: 之前工作环境一直使用Centos6版本,脚本一直在使用/etc/init.d/xxx:系统升级到Cento7后,虽然之前的启动脚本也可以使用,但一直没有使用systemctl 的自定义脚本. ...

  2. Linux学习笔记之Centos7 自定义systemctl服务脚本

    0x00 概述 之前工作环境一直使用Centos6版本,脚本一直在使用/etc/init.d/xxx:系统升级到Cento7后,虽然之前的启动脚本也可以使用,但一直没有使用systemctl 的自定义 ...

  3. 【centos7】添加开机启动服务/脚本

    一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...

  4. centos7如何添加开机启动服务/脚本

    一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...

  5. CentOS7添加开机启动服务/脚本(延用CentOS6方法)

    一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...

  6. 基于CentOS7系统添加自定义脚本服务及参数说明【转】

    概述 centos6如果要添加自定义脚本服务只需要把脚本放到/etc/init.d然后授权后用chkconfig添加后就可以管理了,那么centos7又是怎么添加自定义脚本服务呢? CentOS7添加 ...

  7. Centos7 systemctl添加自定义系统开机服务

    Centos7的服务systemctl脚本存放在: /usr/lib/systemd/ 有系统(system)和用户(user)之分,需要开机不登陆就能运行的程序,存下系统服务里,即:/usr/lib ...

  8. centos7后台服务部署jar包

    centos7 服务部署jar包 centos7 服务介绍 CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分, 每一个 ...

  9. (转) CentOS 7添加开机启动服务/脚本

    CentOS 7添加开机启动服务/脚本 原文:http://blog.csdn.net/wang123459/article/details/79063703 一.添加开机自启服务 在CentOS 7 ...

随机推荐

  1. Vysor破解助手for Linux and macOS

    <Vysor Pro破解助手>提供了Windows下的Vysor破解工具,为了使用Linux及macOS同学的方便,最近整理了Linux及macOS版的Vysor破解助手. Linux版V ...

  2. DVWA 黑客攻防演练(二)暴力破解 Brute Froce

    暴力破解,简称"爆破".不要以为没人会对一些小站爆破.实现上我以前用 wordpress 搭建一个博客开始就有人对我的站点进行爆破.这是装了 WordfenceWAF 插件后的统计 ...

  3. Linux学习历程——Centos 7 mkdir命令

    一.命令介绍 mkdir 命令用于创建空白目录格式为“mkdir [选项] 目录”, 除了能够创建单个空白目录,还能结合 -p 参数来递归创建具有嵌套层叠关系的文件目录. -------------- ...

  4. 自动化测试之路2---python安装

    借鉴这位老哥的文章http://www.cnblogs.com/shabbylee/p/6792555.html

  5. Markdown语法指南

    1.背景 个人比较喜欢用Markdonw写东西,比如写博客随笔,写有道云笔记等,但有的时候会突然忘记某个具体语法怎么写了,如插入图片.插入链接.表格等,那干脆把这个语法简单地总结一下,也方便日后快速查 ...

  6. 批处理基础知识-IF

    本文主要介绍批处理IF命令的使用. IF命令格式: if /i string=string command 释义:判断2个字符串是否相等,但不区分大小写. 例: 代码: @echo off if /i ...

  7. SQLServer之创建非聚集索引

    开始之前 典型实现 可以通过下列方法实现非聚集索引: UNIQUE 约束 在创建 UNIQUE 约束时,默认情况下将创建唯一非聚集索引,以便强制 UNIQUE 约束. 如果不存在该表的聚集索引,则可以 ...

  8. LeetCode算法题-Longest Uncommon Subsequence I(Java实现)

    这是悦乐书的第252次更新,第265篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第119题(顺位题号是521).给定一组两个字符串,您需要找到这组两个字符串中最长的不同 ...

  9. Django REST framework基础:视图和路由

    DRF中的Request 在Django REST Framework中内置的Request类扩展了Django中的Request类,实现了很多方便的功能--如请求数据解析和认证等. 比如,区别于Dj ...

  10. 【Teradata】扩容操作步骤

    第一章,前期准备(旧系统信息收集) 1.DBScontrol关键信息 DBSCONTROL系统参数是在节点上设置的,其参数直接关系到系统全局,需要慎重设置,新节点的关键参数要与生产库一致或者相容.主要 ...