Centos 7 进程守护与监控-systemctrl服务

想给自己开发的程序做进程守护,比如要实现开机时启动某进程或某进程crash后要自动拉起来的功能。通过centos中init进程systemd

使用demo

启用qkdtest服务,当代理进程crash之后,守护进程会拉起进程。
1.将start和shutdown脚本放在和qkd可执行文件同一目录,
 cd /home/qkd/
[root@localhost qkd]# ll
total 204
-rwxr-xr-x. 1 root root  23896 Feb 27 14:28 xxx.exe
-rwxr-xr--. 1 root root    349 Feb 27 15:31 shutdown.sh
-rwxr-xr--. 1 root root    423 Feb 27 15:30 startup.sh
2.创建软链接
sudo cd /usr/sbin
ln -sf /home/qkd/start.sh qkd_startup
ln -sf /home/qkd/shutdown.sh qkd_shutdown
3.创建qkdtest服务文件qkdtest.service,放在/usr/lib/systemd/system目录下,
执行命令:
systemctl daemon-reload //重新加载服务文件
systemctl start/stop/restart/status qkdtest.service //启动/停止/重启/查看qkd守护进程

pgrep qkdtest //查看守护进程

pkill qkdtest //杀死服务
ps -aux |grep xxx //查看代理进程

附:

1、qkdtest.service

[Unit]
Description=qkd server daemon
Documentation=no
After=no
Wants=no

[Service]
EnvironmentFile=no
ExecStart=/usr/sbin/qkd_startup
#ExecStart=/home/qkd/startup.sh   //也可以
ExecReload=/bin/kill -HUP $MAINPID
ExecStop=/usr/sbin/qkd_shutdown
#ExecStop=/home/qkd/shutdown.sh
KillMode=process
Restart=on-failure
RestartSec=10s   //拉起时间间隔

参数设置参考:https://blog.csdn.net/yuesichiu/article/details/51485147?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control&dist_request_id=1cc74aa6-5ceb-4da7-b94f-2771dc3fee3e&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control

2、startup.sh

#!/bin/bash
ps -ef |grep xxx |grep -v grep
if [ $? -eq 0 ];then
  echo 'xxx server is running!'
else
    netstat -apn |grep 1024
    if [ $? -eq 0 ];then
         PID_1024 = $(echo `netstat -apn |grep 1024 | awk '{print $NF}'|awk -F '/' '{print $1}'`)
         kill  $PID_1024
    fi
    echo "startup xxx server:"
    cd /home/qkd
    chmod +x xxx.exe
    ./xxx.exe
fi

3、shutdown.sh

#!/bin/sh
ps -ef | grep xxx| grep -v grep
if [ $? -eq 0 ];then
#  PID_1024=$(echo `netstat -apn |grep 1024 | awk '{print $NF}'|awk -F '/' '{print $1}'`)
  PID_1024=`ps -ef | grep xxx | grep -v grep | awk '{print $2}'`
  kill -9 $PID_1024
  echo 'xxx server has shutdown!'
else
  echo 'Not found qkd_agt PID!'
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值