서비스 재시작 절차를 처리하는 쉘 스크립트

서비스 재시작 절차를 처리하는 쉘 스크립트

우리는 타사에서 제조한 일부 씬 클라이언트를 지원하기 위해 서버에서 타사 TTY 서비스를 실행하고 있습니다.

때때로 씬 클라이언트에 대한 연결이 잠길 수 있습니다. 절차는 TTY 서비스를 중지하고 연결이 닫힐 때까지 기다린 후 TTY 서비스를 시작하는 것입니다. 또한 CentOS 4.x 서버에서는 다음 명령을 실행합니다.init q

일반적으로 루트에서 이와 같이 수동으로 수행합니다.

service axtty stop

서비스 중지

netstat -d | grep axel

모든 연결이 닫힐 때까지 netstat 명령을 실행하고 모니터링합니다. 을(를) 포함하는 줄이 없습니다 axel.

service axtty start

서비스 시작

단일 자동화 쉘 스크립트(bash)로 모든 것을 요약할 수 있는 방법이 있습니까?

서버는 CentOS 4.x 또는 6.x입니다.

답변1

#!/bin/sh

service axtty stop

while netstat -d | grep -q axel ; do
  sleep 1
done

service axtty start

참고: GNU를 사용하면 1초의 다른 부동 소수점 분수를 sleep수행할 수 있습니다 .sleep 0.1

관련 정보