首页 > 技术文章 > 只运行一个loop脚本

yuandaozhe 2019-05-05 10:28 原文

#!/bin/bash
dir=$(dirname $(readlink -f "$0"))
full=$(readlink -f "$0")
name=$(basename $(readlink -f "$0"))
cd $dir

if [ "$1" != "runing" ] 
then
rm -f run_tmp.sh
echo "function mykill()
{
while :
do
        killPid=\`ps -ef |grep \"\$1\" |grep -v grep | awk '{print \$2}'\`
        if [ \"\$killPid\" != \"\" ]; then
        killall -9 \$1
        kill -9 \$killPid
        else
        break
        fi
done
}">>run_tmp.sh
echo "rm -f $dir/run_tmp.sh">>run_tmp.sh
echo "mykill \"$name\"">>run_tmp.sh
echo "nohup sh $full runing &">>run_tmp.sh
nohup sh $dir/run_tmp.sh &
wait
exit
fi

ps -ef|grep $name
while :
do
echo "---ok---">>run.txt
sleep 1
done

 

推荐阅读