#!/bin/sh echo "EdgeGateway_FSU_App Start">> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "Start Record">> /home/EdgeGateway_FSU_App/log/Devicestartup.log #/dev 创建一个子目录shm,后续会在系统中添加 ::sysinit:/bin/mkdir -p /dev/shm inittab文件 #echo "Mkdir /dev/shm">>//home/EdgeGateway_FSU_App/log/Devicestartup.log #cd /dev #mkdir shm #启动先判断相关进程是否打开,如果打开则关闭相关进程 cd /home/EdgeGateway_FSU_App/bsh ./KillAllSubProcess.sh wait #增加一个输入判断,防止一直运行无法跳出循环 kooloo add 2024022201 echo "Press any key to continue... except e or E... ?\n" echo "Press any key to continue... except e or E...">> /home/EdgeGateway_FSU_App/log/Devicestartup.log Tempi=1 while [ $Tempi -le 2 ] do echo $Tempi let Tempi++ #注意这里如果不改变$i的值,会变成死循环 #read Tempstr read -t 8 Tempstr #8s 内输入 kooloo add 2024022301 echo "Tempstr的值为: $Tempstr ?\n" if [[ $Tempstr == e ]];then echo "e break!" exit elif [[ $Tempstr == E ]];then echo "E break!" exit fi #sleep 1 # Tempi=$[$Tempi+1] //两种写法 done echo "最后Tempi的值为: $Tempi ?\n" echo "Continuing... ?\n" #时间校准进程 cd /home/EdgeGateway_FSU_App/App ./TimeAlignedApp wait date >>/home/EdgeGateway_FSU_App/log/Devicestartup.log #判断 MainProcessApp 执行文件 kooloo add 202312 if [ ! -f /home/EdgeGateway_FSU_App/App/MainProcessApp ];then echo "MainProcessApp not exist" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "Record End" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "MainProcessApp not exist" exit 0 else echo "MainProcessApp exist" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "Record continue" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "MainProcessApp exist" fi #判断 DevicePortGetApp 执行文件 kooloo add 202312 if [ ! -f /home/EdgeGateway_FSU_App/App/DevicePortGetApp ];then echo "DevicePortGetApp not exist" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "Record End" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "DevicePortGetApp not exist" exit 0 else echo "DevicePortGetApp exist" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "Record continue" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "DevicePortGetApp exist" fi #判断 MqttClientApp 执行文件 kooloo add 202312 if [ ! -f /home/EdgeGateway_FSU_App/App/MqttClientApp ];then echo "MqttClientApp not exist" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "Record End" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "MqttClientApp not exist" exit 0 else echo "MqttClientApp exist" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "Record continue" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "MqttClientApp exist" fi #判断 TimeAlignedApp 执行文件 kooloo add 202312 if [ ! -f /home/EdgeGateway_FSU_App/App/TimeAlignedApp ];then echo "TimeAlignedApp not exist" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "Record End" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "TimeAlignedApp not exist" exit 0 else echo "TimeAlignedApp exist" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "Record continue" >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "TimeAlignedApp exist" fi #cd /home/EdgeGateway_FSU_App/App #./MainProcessApp& cd / ./home/EdgeGateway_FSU_App/App/MainProcessApp& #exit 0 2024022701 while [ 1 -eq 1 ] #写一个永远为真的表达式,1等于1这个条件永远为真,所以这个脚本会一直循环下去 do PIDSTest=`ps -ef | awk '{print}'` echo $PIDSTest >> /home/EdgeGateway_FSU_App/log/Devicestartup.log echo "当前所有PID值,$PIDSTest " PIDS=`ps -ef |grep MainProcessApp |grep -v grep | awk '{print $1}'` echo $PIDS >> /home/EdgeGateway_FSU_App/log/Devicestartup.log if [ "$PIDS" != "" ]; then echo "MainProcessApp is runing!" echo "MainProcessApp is runing!">> /home/EdgeGateway_FSU_App/log/Devicestartup.log else # echo "MainProcessApp is not runing!" echo "MainProcessApp is not runing!">> /home/EdgeGateway_FSU_App/log/Devicestartup.log ./home/EdgeGateway_FSU_App/bsh/KillAllSubProcess.sh wait echo "MainProcessApp Reboot!" echo "MainProcessApp Reboot!">> /home/EdgeGateway_FSU_App/log/Devicestartup.log ./home/EdgeGateway_FSU_App/App/MainProcessApp& #运行进程 fi #判断log文件大小 如果超过一定值 则将其清空 file_size=$(stat -c %s "/home/EdgeGateway_FSU_App/log/Devicestartup.log") if [ $file_size -gt 10000000 ]; then echo "文件太大,需要清空,$file_size " " " >/home/EdgeGateway_FSU_App/log/Devicestartup.log else echo "文件大小不为0" fi date Tempj=1 while [ $Tempj -le 5 ] do let Tempj++ #注意这里如果不改变$i的值,会变成死循环 sleep 1 echo 0 > /sys/class/leds/Dbg-led0/brightness sleep 1 echo 1 > /sys/class/leds/Dbg-led0/brightness done done echo "end" #test use kooloo add 202312 #cd /home/EdgeGateway_FSU_App/App