サービスの再起動手順を処理するシェル スクリプト

サービスの再起動手順を処理するシェル スクリプト

弊社では、サードパーティが製造した一部のシンクライアントをサポートするために、サーバー上でサードパーティの TTY サービスを実行しています。

時々、シンクライアントへの接続がロックされることがあります。手順としては、TTYサービスを停止し、接続が閉じるのを待ってからTTYサービスを開始します。さらに、CentOS 4.xサーバーでは、コマンドinit q

通常、これをルートから手動で実行します。

service axtty stop

サービスを停止する

netstat -d | grep axel

axelすべての接続が閉じられるまで、つまり.を含む行がなくなるまで、netstat コマンドを実行して監視します。

service axtty start

サービスを開始する

これらすべてを 1 つの自動化されたシェル スクリプト (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

関連情報