Hvordan bruke “timeout” -kommando i Linux?

Hvordan bruke “timeout” -kommando i Linux?
I Linux-operativsystem kjøres noen prosesser kontinuerlig, og for å drepe dem etter en viss tid brukes et kommandolinjeverktøy som kalles "timeout".

pause”Lar brukeren utføre en kommando og deretter avslutte den etter at en angitt tid har gått. Med andre ord, "pause”Gjør det lettere å kjøre en kommando i en viss tid. “pause”Kommando er inkludert i GNU Core Utility Kit, som leveres standard med nesten hvert Linux -system.

I oppskrivningen vil vi gå gjennom det grunnleggende i denne kommandoen med eksempler.

Syntaks

Kommandoen "timeout" har følgende syntaks:

timeout [alternativ] [Varighet] [Kommando]

Varighet kan være i flytende heltall med tidssuffiks:

S/ingen suffiks (når ingen suffiksenhet er fikset den vurderer til andre)
m = minutt
H = time
D = dag

Bruke “timeout” -kommandoen

Ping systemet ditt med en IP -adresse, vil det fortsette til du avslutter det ved å trykke på Ctrl+C.

Sett nå en tid til å avslutte den ved hjelp av "timeout" -kommandoen. For eksempel vil jeg sette tiden til 7, noe som betyr at utførelsen av "ping" -kommandoen vil stoppe etter 7 sekunder.

Følg kommandoen nedenfor for å angi tidsbegrensningen:

$ timeout 7 ping 192.168.18.213

Angi timeout med en annen tidsenhet

Tilsvarende kan vi pinge “Facebook.com ”også ved å bruke:

$ ping facebook.com

For å stoppe “Ping” -kommandoen etter 1 minutt, skriv inn en undergitt kommando i en terminal:

$ timeout 1m ping facebook.com

Viser avkjøringsstatus

Mange programmer sendte en verdi/kode til skallet når de avsluttes.

Avslutt for eksempel følgende prosess før den treffer sin tidsbegrensning som er 6 sekunder. Hit Ctrl+C og sjekk utgangsstatus ved å skrive “Echo $”. Den vil returnere “0” i utgangen:

$ timeout 6 ping facebook.com

Å avbryte en løpsprosess vil alltid gi en "0" utgangskode.

Bevare statusen

Bevare status returnerer en utgangsstatus selv om vi avslutter den kraftig ved å bruke Ctrl+C. Kommandoen ville være:

$ timeout-Preserve-Status 2 Ping Facebook.com

Og for å sjekke utgangskoden, skriv: Skriv inn:

$ ekko $?

Nå vil utgangsstatusen være 143.

Sende signaler til timeout

Kommandoen "timeout" sender et signal til prosessen for å avslutte den.

For å sjekke tilgjengelige signaler, bruk “Kill” -kommandoen:

$ Kill -L

En liste over alle tilgjengelige signaler vises.

De “-S” (-Signal) Alternativet lar deg angi et signal for å gi:

$ timeout -s

Kommandoen “timeout” bruker “Sigterm” for å stoppe en prosess, men mange prosesser ignorerer “Sigterm” -signalet. For å avslutte en prosess med kraftig bruk av “Sigkill” -signalet, kan du ikke ignoreres ved noen prosess.

Sende Sigkill til ping -kommandoen etter 2 sekunder, skriv:

$ sudo timeout -s sigkill ping facebook.com

Du kan også sende signaler ved å bruke et signalnummer i stedet for signalets navn:

$ sudo timeout -s 9 ping 192.168.18.213

Sender Kill Signals

De “-K” Alternativet brukes til å avslutte prosessen.

I det følgende eksempel, hvis forbindelsen ikke etableres om 2 minutter, vil den drepe timeout -kommandoen etter 3 sekunder:

$ sudo timeout -k 3 2m ping facebook.com

I mitt tilfelle vil tidsavbruddskommandoen kjøres i 2 minutter og ikke avsluttes. Derfor vil det ikke drepe selv etter 3 sekunder.

Får hjelp

Linux har en veldig god funksjon som den gir hjelp for hver kommando vi bruker. Ved bruk av "hjelp" Med et kommandonavn vil det gi deg hjelpinformasjonen i detalj:

$ timeout --hjelp

Sjekk versjon

For å sjekke versjonen av timeout -kommandoen, skriv:

$ timeout -Versjon

Konklusjon

I Linux-operativsystemet er "timeout" -kommandoen et kommandolinjeverktøy som brukes til å avslutte en løpsprosess etter en bestemt periode. Det brukes til prosessene som kjører kontinuerlig. Dessuten kan også utgangsstatus for løpsprosesser nås ved hjelp av "timeout" -kommandoen. Vi har diskutert timeout -kommandoer gjennom forskjellige eksempler med flere alternativer.