Vérifiez si vous pouvez vous connecter à un port TCP en Python

Il est utilisé à des fins telles que l'attente du démarrage d'un hôte.

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)

utilisation

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

référence

argparse socket time sys

Recommended Posts

Vérifiez si vous pouvez vous connecter à un port TCP en Python
Que faire si vous obtenez moins zéro en Python
Si vous souhaitez affecter une exportation csv à une variable en python
Vérifiez si la chaîne est un nombre en python
Si vous rencontrez une "erreur de décodage Unicode" en Python
[Python] Choses à vérifier lorsqu'une erreur de décodage Unicode apparaît dans Django
Comment vérifier en Python si l'un des éléments d'une liste est dans une autre liste
Comprendre le rendement Python Si vous mettez le rendement dans une fonction, elle se transforme en générateur
[python] Comment vérifier si la clé existe dans le dictionnaire
Pourquoi l'instruction main () -if de Python est-elle attachée?
Si vous écrivez TinderBot en Python, elle peut le faire
Comment importer des fichiers où vous le souhaitez en Python
Comment vérifier si une valeur existe dans un type d'énumération
Comment vérifier la taille de la mémoire d'une variable en Python
Comment vérifier la taille de la mémoire d'un dictionnaire en Python
Assurez-vous que python peut convertir / convertir une chaîne de caractères en int
Vérifier et recevoir le port série en Python (vérification du port)
Vérifiez si l'URL existe en Python
Comment obtenir stacktrace en python
Comment vérifier la version d'opencv avec python
Si vous voulez un singleton en python, considérez le module comme un singleton
Remarque: [Python3] Convertissez datetime en chaîne dans le format de votre choix
[Python] Si vous souhaitez dessiner un diagramme de dispersion de plusieurs clusters
Connectez-vous à postgreSQL depuis Python et utilisez des procédures stockées dans une boucle.
Si vous souhaitez compter les mots en Python, il est pratique d'utiliser Counter.
J'ai fait un programme pour vérifier la taille d'un fichier avec Python
Que se passe-t-il si vous "importez A, B comme C" en Python?
Si vous obtenez une erreur sans attribut dans boto3, vérifiez la version
Calculons en fait le problème statistique avec Python
Comment effacer un taple dans une liste (Python)
Comment incorporer des variables dans des chaînes python
Vérifiez si les caractères sont similaires en Python
Je veux créer une fenêtre avec Python
Comment créer un fichier JSON en Python
Vous pouvez facilement créer une interface graphique même avec Python
Une manière intelligente de chronométrer le traitement avec Python
Étapes pour développer une application Web en Python
Comment notifier les canaux Discord en Python
[Python] Comment dessiner un histogramme avec Matplotlib
Que faire si vous obtenez une erreur "Aucune version trouvée" sur pipenv
Une solution si vous supprimez accidentellement l'interpréteur python dans / usr / local / bin /.
J'ai essayé de créer une classe qui peut facilement sérialiser Json en Python
Si vous souhaitez créer une application TODO (distribuée) maintenant en utilisant uniquement Python
Créez un plugin qui vous permet de rechercher les onglets Sublime Text 3 en Python
Je souhaite créer une file d'attente prioritaire pouvant être mise à jour avec Python (2.7)
Si vous souhaitez afficher la valeur à l'aide des choix du modèle dans le modèle Django
Si vous les gars dans la cuisine de portée pouvez le faire avec une marge ~ ♪
Que faire si une erreur de codage Unicode se produit dans Sublime Text Python
Que faire si vous obtenez «Python non configuré». Utilisation de PyDev dans Eclipse
Si vous voulez créer un bot discord avec python, utilisons un framework
J'ai créé un script pour vérifier si l'anglais est entré dans la position spécifiée du fichier JSON en Python.
Si vous souhaitez créer une application Windows (exe) qui peut être utilisée maintenant en utilisant uniquement Python
Je voulais faire un programme de notation polonaise inversée en Python (détermination de savoir si une chaîne de caractères peut être convertie en valeur numérique)
Je veux écrire en Python! (1) Vérification du format de code
Analyser une chaîne JSON écrite dans un fichier en Python
Comment convertir / restaurer une chaîne avec [] en python
Je souhaite intégrer une variable dans une chaîne Python