Kā palaist komandu ar laika ierobežojumu (taimautu) Linux


Linux nāk ar lielu komandu skaitu, katra komanda ir unikāla un tiek izmantota īpašos gadījumos. Linux mērķis ir palīdzēt jums būt pēc iespējas ātrākam un efektīvākam. Viens Linux komandas rekvizīts ir laika ierobežojums. Jebkurai komandai varat iestatīt laika ierobežojumu. Ja laiks beidzas, komanda pārtrauc izpildi.

Šajā īsajā apmācībā jūs apgūsiet divas metodes, kā komandās izmantot laika ierobežojumu.

  1. Palaidiet Linux komandas, izmantojot noildzes rīku
  2. Palaidiet Linux komandas, izmantojot programmu Timelimit

Linux ir komandrindas utilīta, ko sauc par taimautu, kas ļauj izpildīt komandu ar laika ierobežojumu.

Tās sintakse ir šāda.

timeout [OPTION] DURATION COMMAND [ARG]...

Lai izmantotu komandu, ar komandu, kuru vēlaties izpildīt, norādiet taimauta vērtību (sekundēs). Piemēram, lai noildzinātu ping komandu pēc 5 sekundēm, varat palaist šo komandu.

# timeout 5s ping google.com

Jums nav jānorāda (s) aiz 5. numura. Tālāk norādītā komanda ir tāda pati un joprojām darbosies.

# timeout 5 ping google.com

Citi sufiksi ietver:

  • m , kas apzīmē minūtes
  • h kas apzīmē stundas
  • d , kas apzīmē dienas

Dažreiz komandas var turpināt darboties pat tad, ja noildze sūta sākotnējo signālu. Šādos gadījumos varat izmantot opciju --kill-after .

Šeit ir sintakse.

-k, --kill-after=DURATION

Jums ir jānorāda ilgums, lai pēc noklusējuma laika nosūtītu noildzes signālu.

Piemēram, parādītā komanda tiks pārtraukta pēc 8 sekundēm.

# timeout 8s tail -f /var/log/syslog

Programma Timelimit palaiž noteiktu komandu, pēc tam pārtrauc procesu pēc noteikta laika, izmantojot doto signālu. Sākotnēji tas nodod brīdinājuma signālu un pēc tam noildzes brīdinājuma signālu nosūta.

Atšķirībā no taimauta opcijas, Timelimit ir vairāk iespēju, piemēram, killsig, warnsig, killtime un warntime.

Timelimit var atrast Debian bāzes sistēmu krātuvēs, un, lai to instalētu, izmantojiet šādu komandu.

$ sudo apt install timelimit

Sistēmās, kuru pamatā ir Arch, varat to instalēt, izmantojot AUR palīgu programmas, piemēram, Pacaur Pacman un Packer.

# Pacman -S timelimit
# pacaur -S timelimit
# packer -S timelimit

Citus Linux izplatījumus varat lejupielādēt timelimit avotu un manuāli instalēt.

Pēc instalēšanas palaidiet šo komandu un norādiet laiku. Šajā piemērā varat izmantot 10 sekundes.

$ timelimit -t10 tail -f /var/log/pacman.log

Ņemiet vērā, ka, nenorādot argumentus, Timelimit izmanto noklusējuma vērtības: warntime = 3600 sekundes, warnsig = 15, killtime = 120 un killsig = 9.

Šajā rokasgrāmatā jūs uzzinājāt, kā palaist komandas ar laika ierobežojumu Linux. Pārskatīšanas laikā varat izmantot komandu Timeout vai Timelimit utilītu.

Timeout komandu ir viegli izmantot, taču Timelimit utilīta ir nedaudz sarežģīta, taču tai ir vairāk iespēju. Jūs varat izvēlēties vispiemērotāko variantu atkarībā no jūsu vajadzībām.