Si të ekzekutoni një komandë me limit kohor (Timeout) në Linux
Linux vjen me një mori komandash, secila komandë unike dhe e përdorur në raste specifike. Qëllimi i Linux-it është t'ju ndihmojë të jeni sa më të shpejtë dhe efikas. Një veçori e një komande Linux është afati kohor. Ju mund të vendosni një kufi kohor për çdo komandë që dëshironi. Nëse koha skadon, komanda ndalon së ekzekutuari.
Në këtë tutorial të shkurtër, do të mësoni dy metoda se si mund të përdorni një kufi kohor në komandat tuaja.
- Vendosni komandat Linux duke përdorur mjetin e skadimit të kohës
- Drejto komandat Linux duke përdorur programin e limitimit kohor
Linux ka një mjet të linjës komanduese të quajtur timeout, i cili ju mundëson të ekzekutoni një komandë me një afat kohor.
Sintaksa e saj është si më poshtë.
timeout [OPTION] DURATION COMMAND [ARG]...
Për të përdorur komandën, ju specifikoni një vlerë të afatit (në sekonda) me komandën që dëshironi të ekzekutoni. Për shembull, për të ndërprerë kohën e një komande ping pas 5 sekondash, mund të ekzekutoni komandën e mëposhtme.
# timeout 5s ping google.com
Nuk duhet të specifikoni (s) pas numrit 5. Komanda më poshtë është e njëjtë dhe do të vazhdojë të funksionojë.
# timeout 5 ping google.com
Prapashtesa të tjera përfshijnë:
m
që përfaqëson minutath
që përfaqëson orëtd
që përfaqëson ditët
Ndonjëherë komandat mund të vazhdojnë të ekzekutohen edhe pasi skadimi të dërgojë sinjalin fillestar. Në raste të tilla, mund të përdorni opsionin --kill-after
.
Këtu është sintaksa.
-k, --kill-after=DURATION
Duhet të specifikoni një kohëzgjatje për të bërë të ditur se sa kohë do të dërgohet sinjali i vrasjes.
Për shembull, komanda e treguar do të përfundojë pas 8 sekondash.
# timeout 8s tail -f /var/log/syslog
Programi Timelimit ekzekuton një komandë të caktuar dhe më pas e përfundon procesin pas një kohe të caktuar duke përdorur një sinjal të caktuar. Fillimisht kalon një sinjal paralajmërues, dhe më pas pas një kohe, ai dërgon sinjalin e vrasjes.
Ndryshe nga opsioni i skadimit, Timelimit ka më shumë opsione si killsig, warnsig, killtime dhe warntime.
Afati kohor mund të gjendet në magazinat e sistemeve të bazuara në Debian dhe për ta instaluar atë, përdorni komandën e mëposhtme.
$ sudo apt install timelimit
Për sistemet e bazuara në Arch, mund ta instaloni duke përdorur programe ndihmëse AUR, p.sh., Pacaur Pacman dhe Packer.
# Pacman -S timelimit
# pacaur -S timelimit
# packer -S timelimit
Shpërndarje të tjera Linux, mund të shkarkoni burimin e limitit kohor dhe ta instaloni manualisht.
Pas instalimit, ekzekutoni komandën e mëposhtme dhe specifikoni kohën. Në këtë shembull, mund të përdorni 10 sekonda.
$ timelimit -t10 tail -f /var/log/pacman.log
Vini re se nëse nuk specifikoni argumente, Timelimit përdor vlerat e paracaktuara: warntime=3600 sekonda, warnsig=15, killtime=120 dhe killsig=9.
Në këtë udhëzues, ju keni mësuar se si të ekzekutoni komanda me një kufi kohor në Linux. Në shqyrtim, mund të përdorni komandën Timeout ose mjetin Timelimit.
Komanda Timeout është e lehtë për t'u përdorur, por mjeti Timelimit është pak i komplikuar, por ka më shumë opsione. Ju mund të zgjidhni opsionin më të përshtatshëm në varësi të nevojave tuaja.