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.验证杀掉进程是否跑起来
