SDXLF17 / my_bak /xAutoRunTo5m.sh
zuv0's picture
Upload 2 files
a038f47 verified
#!/bin/bash
# version 1
# being undecided
FLAG_NAME=$1
# null
FLAG_NULL=$2
# flag Key
FLAG_KEY=$3
if [ -z "$FLAG_NAME" ] || [ "$FLAG_NAME" = " " ]; then
FLAG_NAME="null"
fi
if [ -z "$FLAG_NULL" ]; then
FLAG_NULL="null"
fi
if [ -z "$FLAG_KEY" ]; then
FLAG_KEY="null"
fi
cd /workspace
cd *
R_PATH="$(pwd)"
if [ ! -d "$R_PATH/SD" ]; then
echo "SD folder not found."
exit 101
fi
MUID=""
if [ -f "$R_PATH/SD/MUID.txt" ]; then
MUID=$(<./SD/MUID.txt)
MUID=${MUID%%+( )}
MUID=${MUID%%+(\n)}
#MUID_LEN=${#MUID}
#MUID=${MUID:1:MUID_LEN-2}
else
RANDOM_STR1="$(head -c 128 /dev/urandom | tr -dc 'A-Z')ZZ"
RANDOM_STR2="$(head -c 384 /dev/urandom | tr -dc 'A-Z0-9')ZZZZZZZZZZZZZZ"
MUID="${RANDOM_STR1::1}${RANDOM_STR2::14}${RANDOM_STR1:1:1}"
echo -e "$MUID" >> ./SD/MUID.txt
fi
MUIDL="${MUID::3}${MUID:13:3}"
OUPUT_PATH="SD/output"
OUPUT_PATH2="output"
#echo "$FLAG_NAME $FLAG_NULL $FLAG_KEY $R_PATH $OUPUT_PATH $MUID $MUIDL"
func_kill()
{
kill -9 $(ps -ef | grep 'autoUpload.sh' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'run.sh' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'webui' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'launch.py' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'gradio' | grep -v 'grep' | awk '{print $2}')
rm -rf /tmp/*
rm -rf $R_PATH/$OUPUT_PATH
rm -rf $R_PATH/$OUPUT_PATH2
for item in $(find . -name "output_${MUIDL}*.zip"); do
rm -rf $item
done
}
if [ "$FLAG_KEY" = "null" ]; then
# enter when the user runs manually.
kill -9 $(ps -ef | grep 'jupyter' | grep -v 'grep' | awk '{print $2}')
func_kill
apt-get install -y inotify-tools
apt-get install -y zip
pip3 install pcloud
CURRNET_PID=$$
#kill -9 $(ps -ef | grep 'xAutoRunTo5m' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'xAutoRunTo5m' | grep -v 'grep' | awk -v pid=$CURRNET_PID '$2 != pid {print $2}')
FLAG_KEY="startDaemon"
bash -c ". $R_PATH/xAutoRunTo5m.sh $FLAG_NAME $FLAG_NULL $FLAG_KEY"
elif [ "$FLAG_KEY" = "startDaemon" ]; then
cd /workspace
cd *
FLAG_KEY="runningDaemon"
chmod 755 xAutoRunTo5m.sh
nohup ./xAutoRunTo5m.sh $FLAG_NAME $FLAG_NULL $FLAG_KEY 2>&1 &
elif [ "$FLAG_KEY" = "runningDaemon" ]; then
cd /workspace
cd *
w1=0
w2=0
w3=0
while :
do
uptime_minutes=$(awk '{print int($1/60)}' /proc/uptime)
current_minute=$(date +%M)
if [ "$uptime_minutes" -ge 181 ]; then
func_kill
kill -15 $(ps -ef | grep 'xAutoRunTo5m.sh' | grep -v 'grep' | awk '{print $2}')
echo "kill xAutoRunTo5m"
exit 100
fi
if [ $(expr ${current_minute} % 5) -eq 0 ]; then
w2=0
if [ ${w1} -eq 0 ]; then
w1=1
chmod 755 run.sh
nohup ./run.sh 2>&1 &
sleep 50s
for item in $(find . -name "output_${MUIDL}*.zip"); do
rm -rf $item
done
fi
elif [ $(expr ${current_minute} % 5) -eq 4 ]; then
w1=0
if [ ${w2} -eq 0 ]; then
w2=1
sleep 50s
kill -9 $(ps -ef | grep 'run.sh' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'webui' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'launch.py' | grep -v 'grep' | awk '{print $2}')
kill -9 $(ps -ef | grep 'gradio' | grep -v 'grep' | awk '{print $2}')
rm -rf /tmp/*
bash -c ". $R_PATH/out.sh 1 $MUIDL && sleep 2 && rm -rf $R_PATH/$OUPUT_PATH && rm -rf $R_PATH/$OUPUT_PATH2"
sleep 1s
fi
fi
sleep 2s
done
elif [ "$FLAG_KEY" = "kill" ]; then
func_kill
kill -15 $(ps -ef | grep 'xAutoRunTo5m.sh' | grep -v 'grep' | awk '{print $2}')
echo "kill xAutoRunTo5m"
exit 100
else
:
fi