2016-10-16 4 views
1

Ich versuche, kleines Skript zu erstellen, die Whois und externe IP-und ping eine Website, um seine Statue zu finden. Mein Code läuft gut, außer für den Ping-Teil. Es pingt, aber nicht für die Grenze von 3, die ich gefragt habe. Ich versuche, es in Ubuntu-Server irgendwelche Vorschläge auszuführen?Ping über Linux und Ausgabe in Python

import os 

os.system("clear") # clear the screen 

inp = input("Enter your choice from the menu: \n1) To find your external IP address\n2) To check domain name whois information\n3) To check if the website or ip address is up\n") 

if (inp == "1"): 
print("Your external ip address is: ") # me trying to be smart XD 
ip = os.system("dig +short myip.opendns.com @resolver1.opendns.com") 
#print("Your external ip address is: %d" % ip) 

elif (inp == "2"): 

domain = input("Enter the domain you want to whois it: \n") 

info = os.system("whois %s" % domain) 
print(info) 

elif (inp == "3"): 
target = input("Enter the url or ip address you want to check:\n") 

for x in range(3): 
    response = os.system("ping %s" % target) 

if (response == 1): # how can I decide based on response result ? 
    print("%s is up" % target) 
else: 
    print("%s is down" % target) 
+2

haben Sie versucht, den Ping-Befehl auf dem ubuntu Befehl ausgeführt werden soll Linie? –

+0

Lesen Sie über das minimale Code-Beispiel für StackOverflow Qs unter http://stackoverflow.com/help/mcve. Das heißt, wir brauchen nicht den ganzen anderen Code, nur das Ping-Zeug. UND mit der Antwort unten, lernen Sie, die Dokumentation für Linux/Unix zu verwenden, d. H. 'Man ping'. Viel Glück. – shellter

Antwort

1

Versuchen Sie, die Zählung -c Option auf Ihren Befehl hinzufügen:

target = "stackoverflow.com" 
response = os.system("ping %s -c 3" % target) 

if response is not 0: 
    print("failed") 
else: 
    print("success") 

Sie können mit der Schleife abschaffen auch ...

+0

Es hat funktioniert, danke. –

+0

Gern geschehen, und bitte markieren Sie diese Antwort als "richtig". –