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
CentOS 7的服务systemctl脚本存放在:/usr/lib/systemd/,有系统(system)和用户(user)之分,需要开机不登陆就能运行的程序,存在系统服务里,即:/usr/lib/systemd/system目录下。每一个服务以.service结尾,一般会分为3部分:[Unit]、[Service]和[Install]
[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.验证杀掉进程是否跑起来

docker容器需要加上
--privileged=true 和 /usr/sbin/init
docker run -i -t -d --privileged=true -v /usr/local/cpp/matching${index}:/usr/local/cpp/matching -v /data/Image-Storage-Application${index}:/data/Image-Storage-Application${index} -v /data/log/storage${index}:/data/log/storage${index} -p ${port}:${port} --network=arcloud_net --link eureka:eureka-server --name=vlad1 yangzhiran/images-pretty:1.0.0 /usr/sbin/init
参考:
原文:https://www.cnblogs.com/waynono/p/11423310.html