For systemadministratorer, der er ansvarlige for styring af Linux-servere, er ressourcehåndtering en vigtig opgave at tage sig af. Nogle gange optager Linux-kommandoer et stort stykke systemressourcer og skal stoppes.

Heldigvis kan du begrænse driftstiden for dine kommandoer ved hjælp af hjælpeprogrammer som f.eks frist. I denne artikel vil vi diskutere, hvorfor du skal tilføje tidsbegrænsninger til dine kommandoer, og hvordan du tilføjer en tidsbegrænsning ved hjælp af kommandoer som tidsbegrænsning og timeout.

Hvorfor begrænse en kommandos kørselstid?

Der er flere grunde til, at du muligvis skal køre dine kommandoer med en tidsbegrænsning. For det første kører du muligvis en ældre computer eller en server og vil ikke have, at dit system spilder dets ressourcer i uønsket behandling.

For det andet afsluttes tidsbundne opgaver såsom filoverførsler efter en bestemt periode, men deres processer stopper ikke med det samme. For at begrænse programmet fra at tage yderligere CPU-tid og hukommelse kan du tilføje en grænse, der stopper processen, når overførslen er gennemført.

instagram viewer

Tilføj grænse ved hjælp af timeout-kommandoen

Timeout-kommandoen er det første valg for mange Linux-brugere at tilføje en tidsbegrænsning til deres kommandoer. Da dette værktøj er en del af GNU Core Utilities pakke, kommer den forudinstalleret på næsten alle Linux-distributioner.

Den grundlæggende syntaks for timeout-kommandoen er:

timeout limit kommando

...hvor begrænse er den tid, kommandoen skal køre i og kommando er den Linux-kommando, du vil udføre med en tidsbegrænsning.

For eksempel, hvis du vil hente procesoplysninger ved hjælp af top kommando i 10 sekunder:

timeout 10'ers top

Topkommandoen er uendelig, og du skal manuelt afslutte den ved hjælp af Ctrl + C. Den ovennævnte kommando kører øverst i 10 sekunder, og når timeren er op, stopper timeout-udførelsen. Bemærk, at timeout tager sekunder som standard tidsenhed, hvilket betyder 10 og 10'ere er det samme.

Du kan også bruge m, hog d til minutter, timerog dage henholdsvis.

Send drabssignaler manuelt med timeout

Som standard sender timeout-kommandoen SIGTERM som kill-signalet. SIGTERM står for Signal afsluttes, hvilket afslutter processen med det samme.

Du kan også sende andre signaler ved hjælp af -s flag. For eksempel for at sende SIGKILL-signalet:

timeout -s SIGKILL 10 top

Det er også muligt at specificere signalet med dets signalnummer. Den følgende kommando sender også SIGKILL-signalet til den øverste kommando.

timeout -s 9 10 top

...hvor 9 er signalnummeret for SIGKILL.

Sådan får du en liste over alle tilgængelige signaler:

dræb -l

Nogle kommandoer stopper ikke helt selv efter tilføjelse af en tidsbegrænsning. I sådanne situationer løser problemet problemet ved at tilføje et kill-signal med standard-timeout-kommandoen.

timeout -k 15 10 top

Den førnævnte kommando kører først den øverste kommando i 10 sekunder, og hvis kommandoen ikke stopper, sender den et kill-signal til processen efter 15 sekunder.

Lær mere: Sådan dræbes programmer, der ikke svarer i Linux

Begrænsning af kommando-kørselstid med tidsbegrænsning

I modsætning til timeout-kommandoen er timelimit ikke en af ​​de standardpakker, der kommer forudinstalleret på Linux-distroer. Derfor bliver du manuelt installeret timelimit på dit system.

Sådan installeres på Debian-baserede distributioner:

sudo apt installer tidsbegrænsning

Timelimit er ikke tilgængelig i de officielle Arch repositories. Men du kan installere det ved hjælp af en AUR-pakkehåndtering som yay.

sudo yay -S tidsbegrænsning

Relaterede: Sådan installeres pakker på Arch Linux

Sådan installeres på Fedora:

sudo dnf installer tidsbegrænsning

På RHEL og CentOS:

sudo yum installer tidsbegrænsning

Alternativt, hvis du stadig ikke kan installere pakken på dit system, skal du downloade kildekoden fra det officielle websted og installere den manuelt.

Hent: frist

Sådan kører du den øverste kommando i 10 sekunder ved hjælp af timelimit:

timelimit -t10 top

Timelimit tager flere argumenter som warntime, advarer, drabstidog killsig. Hvis brugeren ikke leverer disse argumenter, tages deres standardværdier, hvilket er warntime = 3600 sekunder, advarsel = 15, killtime = 120og killsig = 9.

Styring af en kommandos liv i Linux

Overvågning af kommandoerne og kontrol over processerne bliver vigtigt, hvis din Linux-maskine har begrænsede ressourcer. Hjælpeprogrammer som timeout og tidsbegrænsning er en livredder, da de giver dig mulighed for at tilføje tidsbegrænsninger til dine kommandoer.

Ligesom kommando runtime kan du også begrænse dit systems skærmtid. Hvis du er en forælder, der ikke ønsker, at dit barn skal spilde unødvendig tid foran en computer, er det mest passende valg at begrænse skærmtiden.

E-mail
5 måder at blokere websteder og begrænse skærmtiden på Linux

Forældrekontrolsoftware er næsten uhørt på Linux. Her er flere måder, du kan blokere sider på og administrere indhold på Linux.

Læs Næste

Relaterede emner
  • Linux
  • Linux
Om forfatteren
Deepesh Sharma (47 artikler offentliggjort)

Deepesh er Junior Editor til Linux på MUO. Han har skrevet informativt indhold på internettet i over 3 år. I sin fritid nyder han at skrive, lytte til musik og spille sin guitar.

Mere fra Deepesh Sharma

Abonner på vores nyhedsbrev

Deltag i vores nyhedsbrev for tekniske tip, anmeldelser, gratis e-bøger og eksklusive tilbud!

Et trin mere !!!

Bekræft din e-mail-adresse i den e-mail, vi lige har sendt dig.

.