كيفية إيقاف البرنامج النصي ROS الذي يبدأ بعد إعادة التشغيل

لقد قمت بإنشاء برنامج نصي يقوم بالتحقق من تشغيل خادم معين وإعادة تشغيله في حالة حدوث عطل (يتم تشغيل البرنامج النصي بشكل لا نهائي كل 10 ثوانٍ).

How can I stop/ignore/break the script? I cannot run any commands and CTRL+C, CTRL+A, CTRL+Z do NOT work.

المشكلة الرئيسية هي أيضا أن خادم الجهاز لا يعمل حتى لا يمكن الوصول إلى IP مع MobaXterm. أنا أدير أبونتو 14.04 على فيرتثلبوإكس مع محطة فقط ، أي واجهة المستخدم الرسومية!

إعادة التشغيل:

#! /bin/bash
while :
do
        COUNT="$(pgrep -f Odie | wc -l)"
        echo $'\n'
        echo "Number of Odie processes (COUNT) = $((COUNT))"
        echo "$(pgrep -fla Odie)"

        case "$(screen -ls | grep Odie | wc -l)" in
        0) echo "Restarting Odie:       $(date)" | sudo tee -a /var/log/OdieLog.txt
        bash -c "exec -a OnlyOdie ./screen_start.sh"
        ;;
        1) # all ok
        echo "Process is running:       $(date)" | sudo tee -a  /var/log/OdieLog.txt
        ;;
        2) echo "Removed double Odie:   $(date)"  | sudo tee -a /var/log/OdieLog.txt
        #kill $(pgrep -f OnlyOdie | awk '{print $1}')
        screen -ls | awk -vFS='\t|[.]' '/Odie/ {system("screen -S "$2" -X quit")}'
        ;;
        esac
sleep 10
done

screen_start.sh

#! /bin/bash
SCREEN_COUNT="$(screen -ls | grep Odie | wc -l)"

if [ "$SCREEN_COUNT" -eq 0 ]
then
        echo "SCREEN_COUNT = ZERO"
        screen -sdm ./start.sh -S Odie
fi

للأسف لا أستطيع إضافة محتوى ملف ROS حيث لا يمكنني الوصول إليه.

0

1 إجابة

بما أنني لم أتمكن من الوصول إليه من مصادر أخرى ، وجدت طريقة للتبديل بين الشاشات في Linux باستخدام: CTRL + Alt + F1 (ينتقل إلى F6 ).

هذا جعل من الممكن تسجيل الدخول كمستخدم وإعادة تحرير الملف/إنهاء العملية.

0
وأضاف