Přejít na hlavní obsah

Jak dokončit proces jménem v Linuxu: podrobný průvodce

Linux, open source operační systém, má mnoho funkcí a nástrojů pro správu procesů. Někdy může být nutné přerušit výkon určitého procesu. V tomto článku se podíváme na to, jak dokončit proces podle jeho názvu pomocí různých příkazů a nástrojů v Linuxu.

Jedním ze způsobů, jak proces dokončit, je použití příkazu kill. Příkaz kill odešle signál procesu určenému podle ID (PID) nebo podle názvu. K dokončení procesu jménem je nutné použít volbu-s uvedením názvu procesu a možnost-SIGKILL k odeslání signálu označujícího okamžité ukončení procesu.

Chcete-li například dokončit proces s názvem "process_name", musíte spustit příkaz:

kill -s SIGKILL $(pgrep process_name)

Dalším způsobem, jak proces dokončit, je použití příkazu pkill. Příkaz pkill vám umožňuje dokončit proces podle jeho názvu, aniž byste museli používat možnosti a další signály. Stačí zadat název procesu po příkazu pkill.

Chcete-li například dokončit proces s názvem "process_name", musíte spustit příkaz:

Existuje také možnost dokončit všechny procesy podle konkrétního názvu pomocí příkazu killall. Příkaz killall dokončuje proces jménem, podobně jako příkaz pkill, ale na rozdíl od něj příkaz killall dokončuje všechny procesy se zadaným názvem, nejen první nalezený proces.

Chcete-li například dokončit všechny procesy s názvem "process_name", musíte spustit příkaz:

Použití příkazu pkill

Syntaxe příkazu pkill je následující:

pkill [možnosti] jméno_procesor

Možnosti příkazu vám umožňují rozšířit funkčnost a změnit chování pkill. Mezi nejčastěji používané možnosti patří:

  • - l-zobrazuje názvy signálů, které lze použít k dokončení procesu;
  • - s - umožňuje zadat signál odeslaný procesu, když je dokončen;
  • - v-detailní zobrazení procesů, které budou dokončeny;
  • - u-provedení příkazu jménem zadaného uživatele;
  • - f je úplná shoda podle názvu procesu, bez použití šablon.

Příklad použití příkazu pkill:

V uvedeném příkladu příkaz pkill dokončí všechny procesy s názvem "nginx" pomocí signálu 9. Můžete také použít jiné signály nebo kombinace možností podle vašich potřeb.

Příkaz pkill poskytuje pohodlný způsob, jak rychle a efektivně dokončit procesy s názvem v operačním systému Linux. Může být užitečná při správě a podpoře systému, zejména v případě potřeby rychlého dokončení skupiny procesů nebo démonického procesu.

Použití příkazu killall

Tým killall v Linuxu umožňuje dokončit procesy podle jejich jména. Je zvláště užitečný, když je třeba dokončit více procesů současně se stejným názvem. Příkaz killall podporuje více možností a argumentů.

Základní syntaxe příkazu je následující:

killall [možnosti] jméno_procesor

Chcete-li například dokončit všechny procesy s názvem "firefox", musíte spustit příkaz:

Tento příkaz odešle signál dokončení (SIGTERM) všem procesům s názvem "firefox". Pokud proces není dokončen, můžete použít možnost -9 pro odeslání signálu nuceného ukončení (SIGKILL):

killall -9 firefox

Příkaz killall může být užitečný v různých scénářích, například když potřebujete dokončit všechny procesy konkrétní aplikace nebo uvolnit zdroje na serveru používané více procesy.

Použití příkazu kill

Syntaxe příkazu kill je následující:

kill [сигнал] [идентификатор_процесса]

Ve výchozím nastavení příkaz kill odešle signál SIGTERM (15), který přeruší provádění procesu. Existují však i další signály, které lze v případě potřeby použít. Například signál SIGHUP (1) restartuje proces a signál SIGKILL (9) okamžitě zastaví proces, aniž by jej nechal dokončit.

Identifikátor procesu lze získat pomocí příkazu ps . Chcete-li například dokončit proces s názvem "example", musíte spustit následující příkaz:

kill $(pgrep example)

Místo ID procesu můžete zadat jeho jméno, ale v tomto případě příkaz kill dokončí všechny procesy se zadaným názvem.

Pokud je nutné odeslat signál zadaného typu všem procesům, příkaz killall to umožňuje. Syntaxe týmu killall je následující:

killall [сигнал] [имя_процесса]

Chcete-li například odeslat signál SIGTERM všem procesům s názvem "example", měli byste použít následující příkaz:

killall -SIGTERM example

Opatrně však použijte příkaz kill nebo killall, protože nesprávné dokončení procesu může vést ke ztrátě dat nebo nesprávnému fungování systému.

Použití příkazu pidof

Tým pidof umožňuje najít identifikátory procesů (PID) podle názvu procesu. To je užitečné, když chcete proces dokončit, ale neznáte jeho přesný PID.

Syntaxe příkazu pidof je následující:

Chcete-li například najít proces PID s názvem "firefox", můžete spustit následující příkaz:

Příkaz pidof zobrazí seznam procesů PID s zadaným názvem oddělených mezerami. Pokud není nalezen proces s tímto názvem, příkaz nevrátí žádné výsledky.

Jakmile obdržíte PID proces pomocí příkazu pidof, můžete jej použít k dokončení procesu pomocí příkazu kill. Například:

někde je identifikátor procesu získaný příkazem pidof.

Je důležité si uvědomit, že použití příkazu pidof vyžaduje oprávnění správce (root) nebo příslušná oprávnění. Pokud nejste správcem systému, možná budete muset k provádění těchto příkazů použít příkazy sudo nebo su.