GNU/Linux >> Znalost Linux >  >> Linux

Linux killall příkaz pro začátečníky (8 příkladů)

Již jsme diskutovali o příkazu kill, který můžete použít v případě, že chcete ukončit procesy v Linuxu. Existuje však další nástroj příkazového řádku, který můžete použít pro stejný účel:killall . V tomto tutoriálu probereme základy tohoto příkazu pomocí několika snadno srozumitelných příkladů.

Ale než to uděláme, stojí za zmínku, že všechny příklady zahrnuté v tomto tutoriálu byly testovány na Ubuntu 18.04 LTS.

Linux killall příkaz

Příkaz killall vám umožňuje zabít procesy podle názvu. Následuje syntaxe nástroje:

killall [OPTIONS] name

A zde je návod, jak manuálová stránka vysvětluje tento nástroj:

killall sends a signal to all processes running any of the specified commands. If no signal name is specified, SIGTERM is sent. Signals can be specified either by name (e.g.  -HUP or -SIGHUP) or by number (e.g.  -1) or by option -s.

If  the command name is not regular expression (option -r) and contains a slash (/), processes executing that particular file will be  selected for killing, independent of their name.

killall returns a zero return code if at least one process has been killed for each listed command, or no commands were listed and at least one process matched the -u and -Z search criteria. killall returns non-zero otherwise.

A killall process never kills itself (but may kill other  killall  processes).

Následující příklady ve stylu otázek a odpovědí by vám měly poskytnout lepší představu o tom, jak příkaz killall funguje.

O1. Jak používat příkaz killall?

Základní použití nástroje je velmi snadné – vše, co musíte udělat, je předat název procesu jako argument pro killall. Chcete-li například zabít gthumb proces, který běžel v mém systému, jsem použil killall následujícím způsobem:

killall gthumb

Pamatujte, že v případě, že si nejste vědomi přesného názvu procesu, můžete použít ps příkaz k načtení těchto informací.

O2. Rozlišuje killall malá a velká písmena?

Ano to je. Vyhodí chybu „nenalezen žádný proces“, pokud se uživateli nepodaří napsat název procesu se správnými velkými písmeny. Následuje příklad:

Pokud však chcete, můžete přinutit killall ignorovat malá a velká písmena pomocí -I možnost příkazového řádku.

Q3. Jak přimět killall, aby se zeptal před ukončením procesu?

Předpokládejme, že chcete, aby se příkaz killall před ukončením procesu zeptal na uživatelská oprávnění, pak můžete použít -i možnost příkazového řádku. Díky tomu bude operace killall interaktivní.

Například:

4. Jak vybrat signál, který killall odešle ke zpracování?

Ve výchozím nastavení je to signál SIGTERM, který killall posílá procesům. Můžete však vysílat i jiné signály. Můžete použít možnosti -s , --signál a -SIGNAL k odeslání těchto dalších signálů.

Aby to však fungovalo, musíte vědět, jaké všechny signály může příkaz killall vysílat. To můžete provést pomocí -l možnost příkazového řádku.

killall -l

Následuje seznam výše uvedených příkazů vytvořených v našem systému:

O5. Jak zabránit tomu, aby si killall stěžoval, pokud zadaný proces neexistuje?

Pokud proces, jehož název je předán „killall“, neběží (neexistuje), nástroj to uživateli předá ve výstupu.

Pokud však nechcete, aby nástroj produkoval takový výstup, můžete použít -q možnost příkazového řádku.

Můžete tedy vidět, že příkaz killall zůstal tichý, když bylo použito -q.

O6. Jak zabít všechny procesy vlastněné uživatelem?

Pokud je požadavkem zabít všechny procesy, které vlastní konkrétní uživatel, můžete použít -u možnost, kterou poskytuje killall. Netřeba dodávat, že tato možnost vyžaduje, abyste jako vstup uvedli uživatelské jméno uživatele.

killall -u [user-name]

Například:

killall -u himanshu

O7. Jak zabít procesy založené na čase?

Předpokládejme, že chcete zabít všechny procesy, které nyní běží déle než 5 hodin, pak to můžete provést pomocí -o možnost následujícím způsobem:

killall -o 5h

Samozřejmě můžete zadat názvy procesů, pokud nechcete zabít všechny procesy. Podobně, pokud chcete zabít procesy, které jsou řekněme méně než 4 hodiny staré, můžete to udělat pomocí -y možnost příkazového řádku.

killall -y 4h

Zde je návod, jak manuálová stránka vysvětluje tyto možnosti:

-o, --older-than
              Match only processes that are older (started  before)  the  time
              specified.   The  time is specified as a float then a unit.  The
              units are  s,m,h,d,w,M,y  for  seconds,  minutes,  hours,  days,
              weeks, Months and years respectively.

 -y, --younger-than
              Match  only  processes that are younger (started after) the time
              specified.  The time is specified as a float then a  unit.   The
              units  are  s,m,h,d,w,M,y  for  seconds,  minutes,  hours, days,
              weeks, Months and years respectively.

O8. Jak zajistit, aby se killall vrátil až poté, co procesy zemřou?

Po doručení signálu procesem killall, pokud se chcete ujistit, že se příkaz vrátí až poté, co proces zemře, můžete to udělat pomocí -w možnost příkazového řádku, která přinutí killall čekat.

killall -w [process-name]

Návod popisuje tuto možnost takto:

-w, --wait
              Wait  for  all killed processes to die.  killall checks once per
              second if any of the  killed  processes  still  exist  and  only
              returns if none are left.  Note that killall may wait forever if
              the signal was ignored, had no effect, or if the  process  stays
              in zombie state.

Závěr

Killall možná není pro nováčky bábovka, ale také není příliš složitý. Musíte si procvičit možnosti příkazového řádku, které nabízí. O většině z nich jsme diskutovali, takže tento tutoriál by měl být dobrým výchozím bodem. Jakmile s nimi budete hotovi, můžete si o příkazu přečíst více na jeho manuálové stránce.


Linux
  1. Linux cd command tutorial pro začátečníky (8 příkladů)

  2. Linux Date Command Tutorial pro začátečníky (8 příkladů)

  3. Příklady příkazů killall v Linuxu

  1. 10 příkladů příkazů „rm“ pro linuxové začátečníky

  2. 10 příkladů příkazů Linux Cat pro začátečníky

  3. Výuka příkazů Linux pro začátečníky (5 příkladů)

  1. Linux df Command Tutorial pro začátečníky (8 příkladů)

  2. Linuxový příkaz dir pro začátečníky (10 příkladů)

  3. Příkaz Linux Csplit vysvětlený pro začátečníky (6 příkladů)