Wenn timeout
läuft ab, wird mit Status 124 beendet; Sie können dies überprüfen, um festzustellen, ob das Skript abgelaufen ist oder nicht.
Laut Handbuch (man timeout
):
Zeitüberschreitung der Synopse [OPTION] NUMMER[SUFFIX] BEFEHL [ARG]...
[...] Wenn der Befehl abläuft, dann mit Status 124 beenden. Anderenfalls mit dem Status COMMAND
beenden
Kombinieren Sie dies mit dem Wissen, dass der Exit-Status oder Rückgabewert in der Variablen $?
gespeichert ist , und wir haben...
timeout 5 /some/local/script/connect_script -x 'status' > output.txt
RETVAL=$?
Dann können Sie basierend auf dem Wert von $RETVAL
weitere Verarbeitungen durchführen , der 124 sein wird, wenn das Zeitlimit überschritten wird, oder ein anderer Wert, der auf dem Exit-Status von connect_script
basiert .