画面に実行中のスクリプトがあることをリモートで確認する

画面に実行中のスクリプトがあることをリモートで確認する

test.sh(GNU screen)という画面でスクリプトが実行されていることを確認したいと思いますtestscreen
これは複数のサーバーにまたがる必要があるため、SSHを介してリモートでやりたいと思います。

for serverid in {1..100}; do ssh root@server${serverid} "command"

という画面でスクリプトが実行されているかどうかcommandを確認するには?test.shtestscreen

答え1

使用

screen -Q windows

各ウィンドウで始まるコマンドを含むウィンドウを一覧表示できます。

特定のセッションを確認するには

screen -S testscreen -Q windows

特定のコマンドが存在するかどうかをテストするには、次のようにしますtest.sh

screen -S testscreen -Q windows | grep -E '^[[:digit:]]+[[:space:]]+test\.sh$'

(これはウィンドウタイトルです)

ちょうどこれを実行してくださいssh

for serverid in {1..100}; do 
  ssh root@server${serverid} screen -S testscreen -Q windows \
    | grep -q -E '^[[:digit:]]+[[:space:]]+test\.sh$' \
    && echo "command running!" \
    || echo "not running!"
done

関連情報