CentOS7利用systemctl添加自定义系统服务

CentOS7自定义系统服务java

CentOS7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,须要开机不登录就能运行的程序,存在系统服务里,即:/usr/lib/systemd/system目录下.
CentOS7的每个服务以.service结尾,通常会分为3部分:[Unit]、[Service]和[Install] vim

[Unit]部分主要是对这个服务的说明,内容包括Description和After,Description 用于描述服务,After用于描述服务类别
[Service]部分是服务的关键,是服务的一些具体运行参数的设置.
Type=forking是后台运行的形式,
User=users是设置服务运行的用户,
Group=users是设置服务运行的用户组,
PIDFile为存放PID的文件路径,
ExecStart为服务的具体运行命令,
ExecReload为重启命令,
ExecStop为中止命令,
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]部分的启动、重启、中止命令所有要求使用绝对路径,使用相对路径则会报错!
[Install]部分是服务安装的相关设置,可设置为多用户的

首先,使用systemctl start  [ 服务名(也是文件名) ] 可测试服务是否能够成功运行,若是不能运行则能够使用systemctl status [ 服务名(也是文件名) ]查看错误信息和其余服务信息,而后根据报错进行修改,直到能够start,若是不放心还能够测试restart和stop命令。tomcat

接着,只要使用systemctl enable xxxxx就能够将所编写的服务添加至开机启动便可。测试

实例:服务用于开机运行tomcat项目:rest

#vim /usr/lib/systemd/system/tomcat.service

[Unit]
Description=java tomcat project
After=tomcat.service
 
[Service]
Type=forking
User=users
Group=users
PIDFile=/usr/local/tomcat/tomcat.pid
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecReload=
ExecStop=/usr/local/tomcat/bin/shutdown.sh
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

 添加可执行权限:blog

chmod 754 /usr/lib/systemd/system/tomcat.service

设置为开机自启动:ip

#systemctl enable tomcat.service

 经常使用指令(以tomcat服务为例):get

启动某服务

systemctl start   tomcat.service

中止某服务

systemctl stop   tomcat.service

重启某服务

service tomcat   restart

systemctl 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
相关文章
相关标签/搜索