Wir führen auf unseren Servern einen TTY-Dienst eines Drittanbieters aus, um einige von Drittanbietern hergestellte Thin Clients zu unterstützen.
Von Zeit zu Zeit kann die Verbindung zu einem Thin Client blockiert werden. Das Verfahren besteht darin, den TTY-Dienst zu stoppen, zu warten, bis die Verbindungen geschlossen werden, und den TTY-Dienst zu starten. Zusätzlich auf CentOS 4.x-Servern den Befehlinit q
Normalerweise machen wir das manuell, vom Root-Zugriff aus.
service axtty stop
Beenden des Dienstes
netstat -d | grep axel
Führen Sie den Befehl netstat aus und überwachen Sie ihn, bis alle Verbindungen geschlossen sind, d. h. keine Zeilen mehr enthalten axel
.
service axtty start
Starten des Dienstes
Gibt es eine Möglichkeit, all dies in einem einzigen automatisierten Shell-Skript (Bash) zusammenzufassen?
Server sind CentOS 4.x oder 6.x
Antwort1
#!/bin/sh
service axtty stop
while netstat -d | grep -q axel ; do
sleep 1
done
service axtty start
HINWEIS: Mit GNU sleep
können Sie sleep 0.1
einen anderen Gleitkommabruchteil von 1 Sekunde verwenden.