1.创建shell脚本
touch /data/image/deamon.sh vi /data/image/deamon.sh
拷贝脚本
#!/bin/bash test(){ while true do echo `date` >> /data/image/log.txt sleep 5 done } case $1 in start) path="/root/shouhu.pid" if [ -f $path ]; then pid=`cat /data/image/deamon.pid` echo "pid $pid running..." else test & echo $! > /data/image/deamon.pid echo "running $!..." fi ;; stop) pid=`cat /data/image/deamon.pid` if [ -z pid ] then kill -9 $pid echo "stop $pid..." rm -rf /data/image/deamon.pid fi ;; restart) path="/data/image/deamon.pid" if [ -f "$path" ];then pid=`cat /data/image/deamon.pid` kill -9 $pid echo " stop $pid..." rm -rf /data/image/deamon.pid test & echo $! > /data/image/deamon.pid echo " restart $!..." else echo "not run..." test & echo $! > /data/image/deamon.pid echo "run $!..." fi ;; status) path="/data/image/deamon.pid" if [ -f $path ];then pid=`cat /data/image/deamon.pid` echo "$pid running..." else echo "not running..." fi ;; *) echo "Usage:{start|stop|restart|status}" ;; esac
2.修改文件为可执行
chmod +x deamon.sh
3.到/usr/lib/systemd/system下创建test-deamon.service
[Unit] Description=way test After=network.target [Service] Type=forking PIDFile=/data/image/deamon.pid ExecStart=/data/image/deamon.sh start ExecReload=/data/image/deamon.sh restart ExecStop=/data/image/deamon.sh stop PrivateTmp=true Restart=on-failure RestartSec=1s [Install] WantedBy=multi-user.target
4.启动守护线程
systemctl enable test-deamon.service #查看状态 systemctl status test-deamon.service 启动 systemctl start test-deamon.service
5.验证杀掉进程是否跑起来