GNU/Linux >> Znalost Linux >  >> Linux

Nastavte časovač na vaše spuštěné příkazy s příkazem Timeout v Linuxu

Pomocí příkazu timeout můžete nastavit časový limit pro spuštění dalších příkazů a programů. Pokud program běží déle než nastavený limit, časový limit jej ukončí.

Zní to dobře, že? Podívejme se, jak tento příkaz použít.

Použití příkazu timeout v Linuxu

Zde je syntaxe příkazu timeout:

timeout [options] seconds command

Jak vidíte, čas se zde vždy nastavuje v sekundách.

Vezměme si příklad s příkazem sleep. Příkaz spánku v podstatě „spí“ do přiděleného času. Což znamená, že jen čeká tolik sekund.

timeout 4 sleep 10

Pokud tedy použiji režim spánku 10, shell počká 10 sekund. Pokud ale nastavím časový limit 4 sekund, příkaz spánku, který měl běžet 10 sekund, skončí za pouhé 4 sekundy.

Ve výchozím nastavení příkaz timeout odešle SIGTERM, aby zdvořile ukončil běžící program. Pomocí volby -s můžete poslat nějaký jiný signál.

Všechny signály zabíjení v Linuxu můžete vidět pomocí příkazu kill -l. Řekněme, že chcete poslat signál SIGKILL (kill -9) místo výchozího SIGTERM. Můžete použít něco takového:

timeout -s SIGKILL 3 sleep 30

Můžete také použít KILL nebo 9 (číslo pro SIGKILL uvedené v kill -l) místo SIGKILL.

Tvrdé zabíjení programu není příjemná věc. Ale program může ignorovat SIGTERM.

Lepší způsob, jak to zvládnout, je poslat signál zabití pouze tehdy, když je váš počáteční požadavek na ukončení spuštěným programem ignorován.

Řekněme tedy, že chcete spustit program ne déle než 5 sekund. Pokud se však běžící program odmítne zastavit, vyšlete signál zabití 3 sekundy po odeslání výchozího SIGTERMU. Zde je to, co můžete použít:

timeout -k 3 5 program

To znamená, že váš program nepoběží déle než 8 sekund. Pomocí příkazu time můžete zkontrolovat, jak dlouho program skutečně běžel.

Existuje praktické použití příkazu timeout?

Zní to jako jeden z těch obskurních příkazů Linuxu, které možná nepoužíváte každý den. Mohlo by to však být užitečné v některých speciálních situacích.

Pokud jste například začali hrát terminálovou hru, abyste si trochu osvěžili náladu, ale ztratili jste pojem o čase a hráli jste mnohem déle, než jste si přáli.

V takových případech je užitečný příkaz timeout.

Zůstaňte naladěni, abyste se dozvěděli další příkazy Linuxu. Přihlaste se k odběru newsletteru, abyste pravidelně dostávali tipy a triky.


Linux
  1. JQ Command v Linuxu s příklady

  2. Spouštění příkazů Linuxu na pozadí a v popředí

  3. Nejjednodušší linuxové příkazy s 10 příklady

  1. Sledujte příkazy a úkoly pomocí příkazu watch v systému Linux

  2. Linuxové příkazy od A do Z

  3. Jak zničit váš systém:Nebezpečné příkazy Linuxu

  1. 14 Nebezpečné příkazy terminálu Linux

  2. wc Linux Command s příklady

  3. Linuxový příkaz echo