2017-05-31 4 views
0

Ausführen des ntpdate-Programm unter Linux, wenn es keine aktive Internetverbindung ist gibt diese Meldung in der Konsole:Was bedeuten die Exit-Codes von ntpdate?

Exiting, Nameserver nicht verwendet werden können:

Der Exit-Code Vorübergehende Fehler bei der Namensauflösung des Programms ist 1 ist der Fall. Ich kann jedoch nicht herausfinden, was der Exit-Code wirklich bedeutet, ist es sicher zu sagen, dass Exit-Code 1 immer mit dem oben erwähnten Fehler übereinstimmt?

einen Blick auf the docs Taking mich nicht helfen, sagt er folgendes:

Exit-Status Null ist ntpdate, wenn es einen Server findet und aktualisiert die Uhr, und ungleich Null sonst.

Kann mir jemand eine Liste aller möglichen Ausgangscodes und ihrer Bedeutung geben?

Danke!

+0

Wie läuft es mit NTP? oder rufst du ntpdate an? – user3788685

+0

In diesem Fall rufe ich das Programm ntpdate direkt auf. Ich denke, ich war überrascht über den Mangel an Dokumentation bezüglich der Ausgangscodes. –

+0

ntpdate wird tatsächlich abgeschrieben und Sie sollten wirklich ntpd verwenden, um Ihr System in Schach zu halten. Wenn Sie etwas Hilfe mit einem Konfigurationsupdate möchten, sollte Ihre Frage & ich in der Lage sein, mit etwas zu helfen – user3788685

Antwort

0

Nach einem Blick auf die Source Code of the ntpdate program Ich denke, ich kann meine eigene Frage beantworten.

Nein, Exitcode 1 bezieht sich nicht immer auf den Fehler Exiting, name server cannot be used: Temporary failure in name resolution.

Suche nach exit(1) im Quellcode, fand ich 20 Fälle, in denen der Exit-Code ist 1.

Für alle, die daran interessiert sind, dass das Stück Code bewirkt, dass die Exiting, name server cannot be used: Temporary failure in name resolution Fehlermeldung:

error = getaddrinfo(serv, service, &hints, &addrResult); 
if (error != 0) { 
    /* Conduct more refined error analysis */ 
    if (error == EAI_FAIL || error == EAI_AGAIN){ 
     /* Name server is unusable. Exit after failing on the 
      first server, in order to shorten the timeout caused 
      by waiting for resolution of several servers */ 
     fprintf(stderr, "Exiting, name server cannot be used: %s (%d)", 
      gai_strerror(error), error); 
     msyslog(LOG_ERR, "name server cannot be used: %s (%d)", 
      gai_strerror(error), error); 
     exit(1); 
    } 
    fprintf(stderr, "Error resolving %s: %s (%d)\n", serv, 
     gai_strerror(error), error); 
    msyslog(LOG_ERR, "Can't find host %s: %s (%d)", serv, 
     gai_strerror(error), error); 
    return; 
} 
Verwandte Themen