Monitor the kernel logs and kill the psdk if the usb network card is disconnected.

This commit is contained in:
Tangchao
2023-10-19 15:44:17 +08:00
parent 78abdd4aad
commit 6bc3a3ad3c

View File

@ -13,19 +13,23 @@
#
#sleep 60s #rockpi need sleep 180s when start because if not wired lan which psdk's image transmission use don't work normal.
rowNumberDisconnect=0
while true
do
echo "current time is " $(date)
# echo "current time is " $(date)
echo "the current directory is " $(pwd)
# echo "the current directory is " $(pwd)
LogDirectory=/media/nvme/300TC/programRunLog
if [ ! -e $LogDirectory ]; then
sudo mkdir -p $LogDirectory
else
echo directory $LogDirectory exist!
#echo directory $LogDirectory exist!
delete=2
fi
@ -34,7 +38,8 @@ do
if [ ! -e djiLog ]; then
sudo mkdir djiLog
else
echo directory "djiLog" exist!
# echo directory "djiLog" exist!
delete=2
fi
#python /home/pi/tc_ShellScripts/test.py
@ -48,7 +53,7 @@ do
# sudo /home/300tc/projects/psdk/psdk_demo &> $LogDirectory"/djiLog/"$psdkLogFileName &
cd /home/300tc/projects_source/Payload-SDK/samples/sample_c/platform/linux/manifold2/build/bin
sudo /home/300tc/projects_source/Payload-SDK/samples/sample_c/platform/linux/manifold2/build/bin/dji_300tc &
sudo /home/300tc/projects_source/Payload-SDK/samples/sample_c/platform/linux/manifold2/build/bin/dji_300tc &> $LogDirectory"/djiLog/"$psdkLogFileName &
runtimes=$(head -n +1 $LogDirectory"/djiLog/Number_of_runs.txt")
echo $runtimes
@ -59,7 +64,19 @@ do
echo "Now, start run dji program!"
else
echo "Dji program already runing!"
# echo "Dji program already runing!"
tmp1=$(dmesg | grep -n disconnect | grep "usb 1-1.1" | awk '{match($0, /^[0-9]+/); print substr($0, RSTART, RLENGTH)}' | awk 'BEGIN {max = rowNumberDisconnect} {if ($1 > max) max = $1} END {print max}')
if [ $tmp1 -gt $rowNumberDisconnect ]; then
echo "new disconnect! "$rowNumberDisconnect"\t"$tmp1
dmesg -T &> $LogDirectory"/djiLog/"kernalLog_$(date +%Y%m%d-%H%M%S).txt
rowNumberDisconnect=$tmp1
kill -9 $(ps -ef | grep dji_300tc | grep -v grep | awk '{print $2}')
else
echo "no disconnect!"
fi
fi
@ -92,7 +109,8 @@ do
if [ ! -e hyperspectralLog ]; then
sudo mkdir hyperspectralLog
else
echo directory "hyperspectralLog" exist!
# echo directory "hyperspectralLog" exist!
delete=2
fi
@ -107,7 +125,8 @@ do
echo "Now, start run hyperspectral program!"
else
echo "HyperspectralLog program already runing!"
# echo "HyperspectralLog program already runing!"
delete=2
fi
sleep 1s