只运行一个loop脚本
#!/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
新的模板
#!/bin/bash dir=$(dirname $(readlink -f "$0")) full=$(readlink -f "$0") name=$(basename $(readlink -f "$0")) cd $dir echo $full md5=`echo -n "$full" |md5sum|awk '{print $1}'` echo "md5=$md5" lockdir="/dev/shm/lock/" lockfile=$lockdir$md5".lock" echo "lockfile=$lockfile" if [ "$1" != "runing" ] then nohup bash $full runing & exit fi ( kill -9 $$ flock -xn --conflict-exit-code 100 ${fd} if [ $? == 100 ]; then echo "flock failed" exit fi mkdir -p $lockdir echo $full > $lockfile while : do sleep 1 echo `date` >> $dir/ret.txt done ){fd}<>$dir/live.sh
浙公网安备 33010602011771号