systemctl添加自定义系统服务
[Service]
Type=forking
ExecStart=绝对路径
ExecStop=绝对路径
ExecReload=绝对路径
以上最精简版,文件/usr/lib/systemd/system/服务.service
原理:
CentOS7自定义系统服务
CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,需要开机不登陆就能运行的程序,存在系统服务里,即:/usr/lib/systemd/system目录下.
CentOS7的每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install]
| 
 1 
 | 
[Unit]部分主要是对这个服务的说明,内容包括Description和After,Description 用于描述服务,After用于描述服务类别 | 
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
 | 
[Service]部分是服务的关键,是服务的一些具体运行参数的设置.Type=forking是后台运行的形式,User=users是设置服务运行的用户,Group=users是设置服务运行的用户组,PIDFile为存放PID的文件路径,ExecStart为服务的具体运行命令,ExecReload为重启命令,ExecStop为停止命令,PrivateTmp=True表示给服务分配独立的临时空间注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错! | 
| 
 1 
 | 
[Install]部分是服务安装的相关设置,可设置为多用户的 | 
首先,使用systemctl start [ 服务名(也是文件名) ] 可测试服务是否可以成功运行,如果不能运行则可以使用systemctl status [ 服务名(也是文件名) ]查看错误信息和其他服务信息,然后根据报错进行修改,直到可以start,如果不放心还可以测试restart和stop命令。
接着,只要使用systemctl enable xxxxx就可以将所编写的服务添加至开机启动即可。
实例:服务用于开机运行tomcat项目:
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
 | 
#vim /usr/lib/systemd/system/tomcat.service[Unit]Description=java tomcat projectAfter=tomcat.service  [Service]Type=forkingUser=usersGroup=usersPIDFile=/usr/local/tomcat/tomcat.pidExecStart=/usr/local/tomcat/bin/startup.shExecReload=ExecStop=/usr/local/tomcat/bin/shutdown.shPrivateTmp=true  [Install]WantedBy=multi-user.target | 
添加可执行权限:
| 
 1 
 | 
chmod 754 /usr/lib/systemd/system/tomcat.service | 
设置为开机自启动:
| 
 1 
 | 
#systemctl enable tomcat.service | 
常用指令(以tomcat服务为例):
| 
 1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
 | 
启动某服务systemctl start   tomcat.service停止某服务systemctl stop   tomcat.service重启某服务service tomcat   restartsystemctl restart   tomcat.service使某服务自动启动(如tomcat服务)systemctl enable   tomcat.service使某服务不自动启动systemctl disable   tomcat.service检查服务状态systemctl   status tomcat.service (服务详细信息)systemctl   is-active tomcat.service(仅显示是否Active)显示所有已启动的服务systemctl   list-units --type=service | 
systemctl添加自定义系统服务的更多相关文章
- CentOS7利用systemctl添加自定义系统服务【转】
		
systemctl enable name.service 设置开机启 systemctl disable name.service 删除开机启动指令 systemctl list-units --t ...
 - 在CentOS 7上利用systemctl添加自定义系统服务   /usr/lib/systemd/
		
在CentOS 7上利用systemctl添加自定义系统服务[日期:2014-07-21] 来源:blog.csdn.net/yuanguozhengjust 作者:yuanguozhengjust ...
 - [转]CentOS7利用systemctl添加自定义系统服务
		
原文:https://www.cnblogs.com/saneri/p/7778756.html CentOS7自定义系统服务 CentOS7的服务systemctl脚本存放在:/usr/lib/sy ...
 - CentOS 7上利用systemctl添加自定义系统服务
		
Centos 7 之 systemctl CentOS 7继承了RHEL 7的新的特性,例如强大的systemctl,而systemctl的使用也使得以往系统服务的/etc/init.d的启动脚本的方 ...
 - CentOS7 利用systemctl添加自定义系统服务
		
一.命令systemctl介绍 CentOS 7.0中已经没有service命令,而是启用了systemctl服务器命令,它实际上将 service 和 chkconfig 这两个命令组合到一起. 命 ...
 - 在CentOS 7上利用systemctl添加自定义系统服务
		
每一个服务以.service结尾,一般会分为3部分:[Unit].[Service]和[Install],具体内容如下: [Unit]Description=*****After=network.ta ...
 - CentOS7利用systemctl添加自定义系统服务
		
CentOS7的每一个服务以.service结尾,一般会分为3部分:[Unit].[Service]和[Install] 转载于互联网 [Unit] 部分主要是对这个服务的说明,内容包括Descrip ...
 - [实践] Android5.1.1源码 - 在Framework中添加自定义系统服务
		
前言 本文的方法要修改Android源码.但只要将系统服务写出来,也可以注入system_server进程将系统服务加载到system_server中. 步骤 1. 添加一个aidl文件,我将aidl ...
 - 如何使用Systemctl管理系统服务和单元?
		
chu原文:How To Use Systemctl to Manage Systemd Services and Units 简书:如何使用Systemctl管理系统服务和单元? 引言 System ...
 
随机推荐
- Windows协议 LDAP篇 - 域用户和计算机用户
			
域用户 查询域用户 通过SAMR协议查询(net user就是通过这种协议查询的),samr也不是一种专门的协议,是一个RPC接口 在impacket里有个脚本samrdump.py,就是专门调用这个 ...
 - 为什么有些容器在docker run的时候需要接 -it ,有些不需要?
			
这是我们的Dockerfile文件 FROM busybox ENV sg WANG CMD ["/bin/sh", "-c", "echo wang ...
 - 区块链-NFT 的实现原理
			
作者:林冠宏 / 指尖下的幽灵.转载者,请: 务必标明出处. 博客:http://www.cnblogs.com/linguanh/ 掘金:https://juejin.im/user/1785262 ...
 - 007 GMII、SGMII和SerDes的区别和联系
			
一.GMII和SGMII的区别和联系 GMII和SGMII区别,上一篇已经介绍了,这一篇重点介绍SGMII和SerDes区别. GMII和SGMII GMII 在MII接口基础上提升了数据位宽和Clo ...
 - msp432搭建平衡小车(二)
			
前言 上一节掌握了使用pwm驱动电机,接下来介绍如何使用msp432读取mpu6050数据 正文 首先我们得知道mpu6050通信方式,由于mpu6050只能用i2c通信,所以学会使用msp432的i ...
 - mysql事务的4大特性
			
事务的四大特性(简称ACID) 1.原子性(Atomicity) 事务是数据库的逻辑工作单位,事务中包括的诸操作要么全做,要么全不做. 2.一致性(Consistency) 事务执行的结果必须是使数据 ...
 - 【nodejs】request 和 response 对象
			
request 和 response 对象的具体介绍: Request 对象 - request 对象表示 HTTP 请求,包含了请求查询字符串,参数,内容,HTTP 头部等属性.常见属性有: req ...
 - 漫画CAS 的ABA 问题
			
链接:https://blog.csdn.net/bjweimengshu/article/details/79000506
 - python入门(需要C++基础)
			
title: python语法入门 author: Sun-Wind date: August 25, 2021 python语法入门 博主最近参加一项比赛,因为需要用到python,所以在这里记录自 ...
 - deepin-terminal改造风云再起
			
1. 创作背景 使用deepin-terminal的时候,我发现一些小的问题. 在论坛的帖子(https://bbs.deepin.org/zh/post/224502)也总结反馈了这些问题 终端标签 ...