Centos7 systemctl服务脚本
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服务脚本的更多相关文章
- Centos7 自定义systemctl服务脚本
序言篇: 之前工作环境一直使用Centos6版本,脚本一直在使用/etc/init.d/xxx:系统升级到Cento7后,虽然之前的启动脚本也可以使用,但一直没有使用systemctl 的自定义脚本. ...
- Linux学习笔记之Centos7 自定义systemctl服务脚本
0x00 概述 之前工作环境一直使用Centos6版本,脚本一直在使用/etc/init.d/xxx:系统升级到Cento7后,虽然之前的启动脚本也可以使用,但一直没有使用systemctl 的自定义 ...
- 【centos7】添加开机启动服务/脚本
一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...
- centos7如何添加开机启动服务/脚本
一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...
- CentOS7添加开机启动服务/脚本(延用CentOS6方法)
一.添加开机自启服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): systemctl enable jenkins.service #设置jenkins服务为 ...
- 基于CentOS7系统添加自定义脚本服务及参数说明【转】
概述 centos6如果要添加自定义脚本服务只需要把脚本放到/etc/init.d然后授权后用chkconfig添加后就可以管理了,那么centos7又是怎么添加自定义脚本服务呢? CentOS7添加 ...
- Centos7 systemctl添加自定义系统开机服务
Centos7的服务systemctl脚本存放在: /usr/lib/systemd/ 有系统(system)和用户(user)之分,需要开机不登陆就能运行的程序,存下系统服务里,即:/usr/lib ...
- centos7后台服务部署jar包
centos7 服务部署jar包 centos7 服务介绍 CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分, 每一个 ...
- (转) CentOS 7添加开机启动服务/脚本
CentOS 7添加开机启动服务/脚本 原文:http://blog.csdn.net/wang123459/article/details/79063703 一.添加开机自启服务 在CentOS 7 ...
随机推荐
- word表格转html后去除冗余代码
word可以另存为html文件,通过这个功能,可以快速实现网页展示word内容,特别是表格的编辑,它包含tr.td.th.rowspan.colspan等内容,直接写比较繁琐. 但word转换过来的h ...
- SpreadJS使用进阶指南 - 使用 NPM 管理你的项目
前言 SpreadJS作为一款性能出众的纯前端电子表格控件,自2015年发布以来,已经被广泛应用于各领域“在线Excel”数据管理项目中.NPM,作为管理Node.js库最有力的手段,解决了很多Nod ...
- Android Button四种点击事件和长按事件
项目XML代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr ...
- mysql免安装版初次使用
在自己电脑上安装一个mysql数据库并启动,碰到一些问题,总结一下 1.下载免安装版mysql数据库,百度下载了了5.7.25版本 2.在bin文件夹下找到my-defaults.ini文件,我这没有 ...
- Linux 访问控制列表(access control list)
简介 随着应用的发展,传统的linux文件系统权限控制无法适应复杂的控制需求,而ACL的出现,则是为了扩展linux的文件权限控制,以实现更为复杂的权限控制需求.其可以针对任意的用户和用户组进行权限分 ...
- 本地系统服务例程:Nt和Zw系列函数
Windows本地操作系统服务API由一系列以Nt或Zw为前缀的函数实现的,这些函数以内核模式运行,内核驱动可以直接调用这些函数,而用户层程序只能通过系统进行调用.通常情况下用户层应用程序不会直接调用 ...
- VMware虚拟机系统无法使用桥接联网
1.环境 VMware 14.1.1 虚拟系统:Windows Server 2008 32位 2.解决办法 打开虚拟网络编辑器 有红框中的提示出现时,就点击更改设置 点击桥接模式,在VMnet信息中 ...
- 虚拟机硬盘vmdk压缩瘦身并挂载到VirtualBox
这个问题其实困扰了挺久的,一直没闲情去解决,网上搜索过很多压缩方法感觉都太麻烦太复杂,因最近在windows上搞docker就一并解决了. 压缩vmdk 首先下载DiskGenius,这工具很牛X,相 ...
- 关于 pyspider Web预览界面太小的解决方法
本人最近在学习pyspider时,遇到Web预览界面太小而无法很好的进行开发,于是在网上搜索解决方法. 准备: css代码: body{margin:;padding:;height:%;overfl ...
- debian8下acme nginx 部署记录
1.更新源 apt update 2.安装curl git apt install curl git -y 3.克隆acme仓库 curl https://get.acme.sh | sh git c ...