进入/etc/systemd/system新建一个文件
cd /etc/systemd/system
vi serviceName.service
写入下面的命令
[Unit]
Description=nginx-server
After=network.target
[Service]
Type=forking
PIDFile=/data/nginx/logs/nginx.pid
ExecStart=/data/nginx/sbin/nginx -c /data/nginx/conf/nginx.conf
ExecReload=/data/nginx/sbin/nginx -s reload
ExecStop=/data/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[Unit]
Description=jiemi
After=network.target
[Service]
Type=forking
ExecStart=/data/jiemi/jiemistart.sh
ExecStop=/data/jiemi/shutdown.sh
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Type=forking是后台运行的形式,PIDFile为存放PID的文件路径,ExecStart为服务的具体运行命令,ExecReload为重启命令,ExecStop为停止命令,PrivateTmp=True表示给服务分配独立的临时空间,注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径,使用相对路径则会报错!
启动服务
systemctl start serviceName
查看服务状态
systemctl status serviceName
停止服务
systemctl stop serviceName
重启服务
systemctl restart serviceName
在不重启服务的情况下,重新载入配置文件,让设置生效
systemctl reload serviceName
重新加载服务
systemctl daemon-reload
设置开机自启动
systemctl enable serviceName
取消开机自启动
systemctl disable serviceName
# 获取脚本所在目录,当脚本注册为服务时需要使用绝对路径,否则服务将无法访问文件
TJAR_PATH=`dirname $(readlink -f ${BASH_SOURCE[0]})`
echo "$TJAR_PATH"/123.jar
# 获取程序的pid将其关闭
kill -15 `ps -ef|grep smtools.jar|awk 'NR==1{print $2}'`
文章来源于:https://blog.csdn.net/zxcv1234zx12/article/details/86305004