サービス再起動プロセスを処理するシェルスクリプト

サービス再起動プロセスを処理するシェルスクリプト

私たちは、サードパーティによって作成された一部のシンクライアントをサポートするために、サーバー上でサードパーティTTYサービスを実行します。

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

通常、ルートで手動でこれを行います。

service axtty stop

サービスの中断

netstat -d | grep axel

つまり、すべての接続が閉じられるまで、netstatコマンドを実行して監視します。含まれる行はありませんaxel

service axtty start

サービス開始

これらすべてを自動化されたシェルスクリプトにまとめる方法はありますか?

サーバーは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

関連情報