test.sh
(GNU screen)이라는 화면에서 스크립트가 실행되고 있는지 확인하고 싶습니다 testscreen
.
이 작업을 여러 서버에 걸쳐서 해야 하기 때문에 SSH를 통해 원격으로 하고 싶습니다.
for serverid in {1..100}; do ssh root@server${serverid} "command"
이라는 화면에서 스크립트가 실행 중인지 command
확인하는 방법은 무엇입니까 ?test.sh
testscreen
답변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