Linuxで再起動後に起動したROSスクリプトを停止する方法[閉じる]

Linuxで再起動後に起動したROSスクリプトを停止する方法[閉じる]

特定のサーバーが実行されていることを確認し、競合が発生した場合に再起動するスクリプトを作成しました。 (スクリプトは10秒ごとに無限に実行されます。)

どのコマンドも実行できず、CTRL + C、CTRL + A、CTRL + Zは機能しません。

主な問題は、マシンサーバーが実行されていないため、MobaXtermがIPにアクセスできないことです。

スクリプトを停止/無視/中断する別の回避策はありますか?

私はVirtualBoxでUbuntu 14.04を実行しています。端末だけあり、GUIはありません!

役に立つなら、ここにスクリプトがあります。

再起動スクリプト:

#! /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ファイルのコンテンツへのアクセス権がないため、追加できません。

答え1

他のソースからはアクセスできないため、以下を使用してLinuxで画面を切り替える方法を見つけました。 ++ CTRL(移動).AltF1F6

これにより、ユーザーとしてログインし、ファイルを再編集したり、プロセスを終了したりできます。

関連情報