CentOS7 利用systemctl添加自定义系统服务
一、命令systemctl介绍
CentOS 7.0中已经没有service命令,而是启用了systemctl服务器命令,它实际上将 service 和 chkconfig 这两个命令组合到一起。
命令对比

常用命令
开启开机启动
systemctl enable gateway-api禁止开机启动
systemctl disable gateway-api查看服务状态
systemctl status -n 100 gateway-api启动服务
systemctl start gateway-api重启服务
systemctl restart gateway-api重载服务
systemctl restart gateway-api停止服务
systemctl stop gateway-api重新加载配置文件
sudo systemctl daemon-reload
常用命令
- 查看系统服务日志
journalctl -fa -u serviceNameorjournalctl -f -u serviceName -o cat - 查看日志占有磁盘空间
journalctl --disk-usage - 配置别名
vi /etc/bashrc
alias jlog='journalctl -fa -u'
source /etc/bashrc
二、自定义配置系统服务
centos7系统的配置目录:/etc/systemd/system 或者 /usr/lib/systemd/system
将写好的配置文件放到系统的配置目录,并754赋权限即可使用systemctl管理服务啦。
系统基本service服务配置目录
/etc/systemd/system
此目录勿动,一般情况下只放系统核心基础服务配置,否存放应用注册类服务配置。自定义服务配置管理目录
/usr/lib/systemd/system
存放自定义应用注册类服务和第三方服务类配置。
创建一个配置文件
以服务的名称命名,例如:gateway-api.service
编写配置文件
[Unit]
Description=gateway-api
#在哪些服务之后启动(After和Before字段只涉及启动顺序,不涉及依赖关系)
#After=rc-local.service
#在哪些服务之前启动(After和Before字段只涉及启动顺序,不涉及依赖关系)
#Before=
#存在"弱依赖"关系,依赖的服务或者服务组启动失败或停止运行,不影响当前服务继续执行。
#Wants=
#表示"强依赖"关系,即如果该服务或者服务组启动失败或异常退出,那么当前服务也必须退出。
#Requires=
[Service]
#启动类型,具体见:Type字段定义启动类型
Type=forking
#指定pid文件,可以不指定(缺省)
PIDFile=/var/run/gateway-api.pid
#自定义服务的运行环境变量
#EnvironmentFile约定位置格式:/usr/lib/systemd/system/gateway-api.service.d/environment.conf
EnvironmentFile=/opt/apps/comm.env
EnvironmentFile=/opt/apps/gateway-api.env
Environment=spring_profiles_active=test
Environment=spring_cloud_bootstrap_name=bootstrap,common-bootstrap
#服务启动,重启,重载,停止
ExecStart=-/opt/apps/jdk1.8/bin/java -jar /opt/apps/gateway-api-0.0.1-SNAPSHOT.jar
#服务重启(缺省)
#ExecRestart=
Restart=on-failure
RestartSec=1s
#重新加载(缺省)
#ExecReload=
#停止服务(缺省)
#ExecStop=
#启动服务之前执行的命令
ExecStartPre=echo 开始启动服务:gateway-api
#启动服务之后执行的命令
ExecStartPost=echo 服务gateway-api启动完毕
#停止服务之后执行的命令
ExecStopPost=服务gateway-api已停止
#是否分配独立的临时空间(缺省)
#PrivateTmp=True
#打开文件描述符数量
LimitNOFILE=40000
[Install]
#表示该服务所在的,Target的含义是服务组,表示一组服务
WantedBy=multi-user.target
注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错;
Type字段定义启动类型
- simple(默认值):ExecStart字段启动的进程为主进程
- forking:ExecStart字段将以fork()方式启动,此时父进程将会退出,子进程将成为主进程
- oneshot:类似于simple,但只执行一次,Systemd 会等它执行完,才启动其他服务
- dbus:类似于simple,但会等待 D-Bus 信号后启动
- notify:类似于simple,启动结束后会发出通知信号,然后 Systemd 再启动其他服务
- idle:类似于simple,但是要等到其他任务都执行完,才会启动该服务。一种使用场合是为让该服务的输出,不与其他服务的输出相混合
CentOS7 利用systemctl添加自定义系统服务的更多相关文章
- CentOS7利用systemctl添加自定义系统服务【转】
systemctl enable name.service 设置开机启 systemctl disable name.service 删除开机启动指令 systemctl list-units --t ...
- [转]CentOS7利用systemctl添加自定义系统服务
原文:https://www.cnblogs.com/saneri/p/7778756.html CentOS7自定义系统服务 CentOS7的服务systemctl脚本存放在:/usr/lib/sy ...
- CentOS7利用systemctl添加自定义系统服务
CentOS7的每一个服务以.service结尾,一般会分为3部分:[Unit].[Service]和[Install] 转载于互联网 [Unit] 部分主要是对这个服务的说明,内容包括Descrip ...
- 在CentOS 7上利用systemctl添加自定义系统服务 /usr/lib/systemd/
在CentOS 7上利用systemctl添加自定义系统服务[日期:2014-07-21] 来源:blog.csdn.net/yuanguozhengjust 作者:yuanguozhengjust ...
- CentOS 7上利用systemctl添加自定义系统服务
Centos 7 之 systemctl CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得以往系统服务的/etc/init.d的启动脚本的方 ...
- 在CentOS 7上利用systemctl添加自定义系统服务
每一个服务以.service结尾,一般会分为3部分:[Unit].[Service]和[Install],具体内容如下: [Unit]Description=*****After=network.ta ...
- CentOS7使用systemctl添加自定义服务
一.简介 Centos7开机第一个程序从init完全换成了systemd这种启动方式,同centos 5 6已经是实质差别.systemd是靠管理unit的方式来控制开机服务,开机级别等功能. 在/u ...
- systemctl添加自定义系统服务
[Service] Type=forking ExecStart=绝对路径 ExecStop=绝对路径 ExecReload=绝对路径 以上最精简版,文件/usr/lib/systemd/system ...
- CentOS7利用systemctl添加dotnet后台服务
/usr/lib/systemd/system/zl.service systemctl enable zl.service systemctl start zl.service [Unit]Desc ...
随机推荐
- [CF46D]Parking Lot
题目:Parking Lot 传送门:http://codeforces.com/problemset/problem/46/D 分析: 做法一: 1)这题和Hotel那题一样,也可以看做是求区间空位 ...
- [CSP-S模拟测试]:简单的序列(DP)
题目描述 从前有个括号序列$s$,满足$|s|=m$.你需要统计括号序列对$(p,q)$的数量. 其中$(p,q)$满足$|p|+|s|+|q|=n$,且$p+s+q$是一个合法的括号序列. 输入格式 ...
- HDU2602 Bone Collector(01背包)
HDU2602 Bone Collector 01背包模板题 #include<stdio.h> #include<math.h> #include<string.h&g ...
- MVC3: 页面向服务传参(view->controller,get,post)
HttpGet HttpPost GetPost 总结比较 ajax get post 1)HttpGet Get是http请求的默认形式.拿MVC官方教程Movie项目举例如下. 编辑页面 Vie ...
- Python 笔试集:什么时候 i = i + 1 并不等于 i += 1?
增强型赋值语句是经常被使用到的,因为从各种学习渠道中,我们能够得知 i += 1 的效率往往要比 i = i + 1 更高一些(这里以 += 为例,实际上增强型赋值语句不仅限于此).所以我们会乐此 ...
- Matplotlib字体大小设置
参考:https://blog.csdn.net/henkekao/article/details/72871882 ax = plt.subplot(111) # 设置刻度字体大小 plt.xtic ...
- 16/7/7_PHP-构造\解析函数
昨天又问老师问题,老师还是强调要用博客之类记录下每天的学习的习惯. 我个人的想法是一些知识点不用笔记一下 在脑海的理解不是太深.但是老师都这么说了我老师乖乖的记录下今天的学习的一些知识.心得.技巧等等 ...
- 转:高效实用的.NET开源项目
本文转自:http://www.cnblogs.com/pengze0902/p/7669631.html 似乎...很久很久没有写博客了,一直都想写两篇,但是却没有时间写.感觉最近有很多事情需要处理 ...
- 【SD系列】SAP SD模块-公司间销售简介
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[SD系列]SAP SD模块-公司间销售简介 ...
- 应用安全-安全设备-Waf系列-软Waf-云锁
安装 安装 - Linux 前提:检查selinux状态 - 关闭selinux getenforce #显示为disabled则为关闭 .下载 x86:wget http://download.yu ...