處理服務重新啟動過程的Shell腳本

處理服務重新啟動過程的Shell腳本

我們在伺服器上執行第 3 方 TTY 服務,以支援第 3 方製造的一些瘦客戶端。

有時,與瘦客戶端的連線可能會被鎖定。流程是停止 TTY 服務,等待連線關閉,啟動 TTY 服務。另外,在 CentOS 4.x 伺服器上,該指令init q

通常我們從 root 手動執行此操作。

service axtty stop

停止服務

netstat -d | grep axel

運行並監視 netstat 命令,直到所有連線都關閉,即。沒有包含 的行axel

service axtty start

啟動服務

有沒有辦法將所有這些總結在一個自動 shell 腳本(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 sleep,您可以執行sleep 0.11 秒或其他浮點分數。

相關內容