Überprüfen Sie, ob Sie in Python eine Verbindung zu einem TCP-Port herstellen können

Es wird beispielsweise zum Warten auf den Start eines Hosts verwendet.

import sys
import socket
import time
import argparse

parser = argparse.ArgumentParser(description='Check tcp connectivity')
parser.add_argument('--host', dest='host', type=str, help='target host')
parser.add_argument('--port', dest='port', type=int, help='target port')
parser.add_argument('--interval', dest='interval', type=int, default='3', help='interval to check')
parser.add_argument('--retries', dest='retries', type=int, default='3', help='number of retries')
args = parser.parse_args()

def check_tcp_connectivity(host, port, interval=0, retries=1):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    for x in range(retries):
        try:
            s.connect((host, port))
            s.close()
            return True
        except socket.error as e:
            time.sleep(interval)

    s.close()
    return False

if check_tcp_connectivity(args.host, args.port, args.interval, args.retries):
    sys.exit(0)
else:
    sys.exit(1)

verwenden

python check.py --host 192.168.0.1 --port 22

Referenz

argparse socket time sys

Recommended Posts

Überprüfen Sie, ob Sie in Python eine Verbindung zu einem TCP-Port herstellen können
Was tun, wenn in Python minus Null angezeigt wird?
Wenn Sie einer Variablen in Python einen CSV-Export zuweisen möchten
Überprüfen Sie, ob die Zeichenfolge eine Zahl in Python ist
Wenn in Python ein "Unicode-Dekodierungsfehler" auftritt
[Python] Dinge, die überprüft werden müssen, wenn in Django ein Unicode-Dekodierungsfehler auftritt
So überprüfen Sie in Python, ob sich eines der Elemente einer Liste in einer anderen Liste befindet
Python-Ertrag verstehen Wenn Sie Ertrag in eine Funktion einfügen, wird dieser in einen Generator geändert
[Python] So überprüfen Sie, ob der Schlüssel im Wörterbuch vorhanden ist
Warum ist Pythons main () -if-Anweisung angehängt?
Wenn Sie TinderBot in Python schreiben, kann sie das tun
So importieren Sie Dateien in Python an eine beliebige Stelle
So überprüfen Sie, ob ein Wert in einem Aufzählungstyp vorhanden ist
So überprüfen Sie die Speichergröße einer Variablen in Python
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Stellen Sie sicher, dass Python eine Zeichenfolge in int konvertieren / konvertieren kann
Überprüfen und empfangen Sie die serielle Schnittstelle in Python (Portprüfung)
Überprüfen Sie, ob die URL in Python vorhanden ist
Wie bekomme ich Stacktrace in Python?
So überprüfen Sie die Version von opencv mit Python
Wenn Sie einen Singleton in Python möchten, stellen Sie sich das Modul als Singleton vor
Hinweis: [Python3] Konvertiert datetime in eine Zeichenfolge in einem beliebigen Format
[Python] Wenn Sie ein Streudiagramm mehrerer Cluster zeichnen möchten
Stellen Sie von Python aus eine Verbindung zu postgreSQL her und verwenden Sie gespeicherte Prozeduren in einer Schleife.
Wenn Sie Wörter in Python zählen möchten, können Sie bequem Counter verwenden.
Ich habe ein Programm erstellt, um die Größe einer Datei mit Python zu überprüfen
Was passiert, wenn Sie in Python "A, B als C importieren"?
Wenn in boto3 der Fehler no attribute angezeigt wird, überprüfen Sie die Version
Berechnen wir das statistische Problem mit Python
So löschen Sie einen Taple in einer Liste (Python)
Einbetten von Variablen in Python-Strings
Überprüfen Sie, ob die Zeichen in Python ähnlich sind
Ich möchte mit Python ein Fenster erstellen
So erstellen Sie eine JSON-Datei in Python
Sie können auch mit Python problemlos eine GUI erstellen
Eine clevere Möglichkeit zur Zeitverarbeitung mit Python
Schritte zum Entwickeln einer Webanwendung in Python
So benachrichtigen Sie Discord-Kanäle in Python
[Python] Wie zeichnet man mit Matplotlib ein Histogramm?
Was tun, wenn auf pipenv der Fehler "Keine Versionen gefunden" angezeigt wird?
Eine Lösung, wenn Sie versehentlich den Python-Interpreter in / usr / local / bin / entfernen.
Ich habe versucht, eine Klasse zu erstellen, mit der Json in Python problemlos serialisiert werden kann
Wenn Sie eine TODO-Anwendung (verteilt) jetzt nur mit Python erstellen möchten
Erstellen Sie ein Plugin, mit dem Sie in Python nach Registerkarten für Sublime Text 3 suchen können
Ich möchte eine Prioritätswarteschlange erstellen, die mit Python (2.7) aktualisiert werden kann.
Wenn Sie den Wert mithilfe von Auswahlmöglichkeiten in der Vorlage im Django-Modell anzeigen möchten
Wenn ihr in der Scope-Küche das mit einem Rand machen könnt ~ ♪
Was tun, wenn in Sublime Text Python ein Unicode-Codierungsfehler auftritt?
Was tun, wenn "Python nicht konfiguriert" angezeigt wird? Verwenden von PyDev in Eclipse
Wenn Sie einen Discord-Bot mit Python erstellen möchten, verwenden wir ein Framework
Ich habe ein Skript erstellt, um zu überprüfen, ob an der angegebenen Position der JSON-Datei in Python Englisch eingegeben wird.
Wenn Sie eine Windows-App (exe) erstellen möchten, die jetzt nur mit Python verwendet werden kann
Ich wollte ein Programm mit umgekehrter polnischer Notation in Python erstellen (Bestimmung, ob eine Zeichenfolge in einen numerischen Wert konvertiert werden kann)
Ich möchte in Python schreiben! (1) Überprüfung des Codeformats
Analysieren Sie eine JSON-Zeichenfolge, die in eine Datei in Python geschrieben wurde
So konvertieren / wiederherstellen Sie einen String mit [] in Python
Ich möchte eine Variable in einen Python-String einbetten