príkaz kill v Linuxe (umiestnený v /bin/kill) je vstavaný príkaz, ktorý sa používa na manuálne ukončenie procesov. zabiť príkaz odošle signál procesu, ktorý ukončí proces. Ak používateľ nešpecifikuje žiadny signál, ktorý sa má odoslať spolu s príkazom kill, potom predvolená hodnota TERMÍN odošle sa signál, ktorý ukončí proces.
Základná syntax príkazu kill v systéme Linux
Základná syntax príkazu `kill` je nasledovná:
Syntax:
kill [signal] PID>
Tu,
np.log
- PID = Príkaz `kill` vyžaduje ID procesu (PID) procesu, ktorý chceme ukončiť.
- [signál] = Musíme špecifikovať signál a ak nešpecifikujeme signál, predvolený signál ` TERMÍN“. sa odošle na ukončenie procesu
Signály je možné špecifikovať tromi spôsobmi:
Signály možno špecifikovať tromi spôsobmi; sú nasledovné:
1. Podľa čísla:
Signál môžeme špecifikovať pomocou čísla. Napríklad máme PID ` 1212 ` a chcete poslať signál `SIGKILL` na zabitie tohto PID. SIGKILL má číslo signálu ` 9 ` (Ak chcete nájsť čísla signálov, spustite príkaz `kill -l`).
Syntax:
kill -9 1212>
2. S predponou SIG (napr./ -SIGkill)
Signál môžeme špecifikovať aj pomocou prefixu SIG. Napríklad musíme vyslať signál ` TERMÍN ` a PID je ` 1432 `. Na kontrolu čísla signálu `SIGTERM` môžeme použiť príkaz `kill -l`.
Syntax:
kill -SIGTERM 1432>
3. Bez predpony SIG:
Signály môžeme špecifikovať aj bez použitia prefixu SIG. Napríklad, ak chcete poslať signál ` TERMÍN“. a PID 1234 `. Na kontrolu čísla signálu `TERM` môžeme použiť príkaz `kill -l`.
Syntax:
kill -TERM 1234>
Niektoré bežné signály v príkaze na zabitie
V tabuľke nižšie sú uvedené niektoré bežné signály a ich zodpovedajúce čísla.
| Názov signálu | Číslo signálu | Popis |
|---|---|---|
| VZDYCHNUTIE | 1 | Detegované zavesenie na riadiacich termináloch alebo smrť riadiaceho procesu. |
| SIGINT | 2 | Vyrušuje z klávesnice. |
| SIGKILL | 9 | Zabíja signál. |
| TERMÍN | pätnásť | Ukončí signál. |
Na kontrolu názvu a čísla signálu môžeme použiť ` zabiť -l ` príkaz.
Možnosti a príklady príkazu kill v systéme Linux
zabiť -l Možnosť
Ak chcete zobraziť všetky dostupné signály, môžete použiť príkaz nižšie:
Syntax:
kill -l>
zabiť -l
Poznámka:
- Záporné hodnoty PID sa používajú na označenie ID skupiny procesov. Ak odovzdáte ID skupiny procesov, signál dostane všetky procesy v rámci tejto skupiny.
- PID -1 je veľmi špeciálne, pretože označuje všetky procesy okrem kill a init, čo je rodičovský proces všetkých procesov v systéme.
- Na zobrazenie zoznamu spustených procesov použite príkaz ps a to vám ukáže spustené procesy s ich číslom PID. Aby sme určili, ktorý proces by mal dostať signál zabíjania, musíme poskytnúť PID.
Syntax:
ps>
ps
zabiť PID Možnosť
Táto voľba určuje ID procesu procesu, ktorý sa má zrušiť.
Syntax:
kill pid>
zabiť -s Možnosť
Táto možnosť určuje signál, ktorý sa má odoslať do procesu.
Syntax:
java reťazec poľa
kill -signal pid>
kill Command v Linuxe -časté otázky
Ako zabiť proces z príkazového riadku Linuxu?
Ak chcete zabiť proces z príkazového riadku systému Linux, môžete použiť príkaz
kill>za ktorým nasleduje ID procesu (PID) cieľového procesu. Napríklad na ukončenie procesu s PID 1234 by ste použili nasledujúci príkaz:kill 1234>V predvolenom nastavení je
kill>príkaz odošle signál SIGTERM, čo umožní procesu vykonať operácie čistenia pred ukončením. Ak proces nereaguje na SIGTERM alebo ak sa vyžaduje okamžité ukončenie, môžete použiť signál SIGKILL s-9>možnosť:kill -9 1234>Je dôležité si uvedomiť, že násilné ukončenie procesu pomocou SIGKILL môže viesť k strate alebo poškodeniu údajov, preto sa odporúča najskôr vyskúšať SIGTERM a použiť SIGKILL iba v prípade potreby.
Ako zabiť viacero procesov naraz?
Môžeme použiť príkaz kill na zabitie viacerých procesov naraz. Potrebujeme len zadať viacero PID oddelených medzerami, alebo môžeme tiež použiť príkaz `killall` na zabitie všetkých procesov so špecifickým názvom.
Napríklad:
Ak chceme zabiť procesy PID ako 1234, 4321 a 2342, môžeme použiť nasledujúci príkaz:
kill 1234 4321 2342>Ak chceme zabiť všetky procesy s názvom firefox. Môžeme použiť nasledujúci príkaz.
killall firefox>
Je bezpečné zabiť systémové procesy?
Nie, je dôležité poznamenať, že iba zabíjacie procesy, o ktorých vieme, že sú bezpečné a zabíjanie systémových procesov môže spôsobiť nestabilitu systému. Vždy je lepšie použiť iné metódy, ako je reštartovanie systému alebo identifikácia hlavnej príčiny problému a jej odstránenie.
Aký je rozdiel medzi SIGTERM a SIGKILL v príkaze `kill` v Linuxe?
SIGTERM, vyšle do procesu signál ukončenia, ktorý pomáha pri elegantnom ukončení. Zatiaľ čo SIGKILL posiela procesu zabíjací signál, ktorý násilne a okamžite ukončí procesy.
Napríklad:
Na odoslanie signálu `SIGTERM` a PID `4321` môžeme použiť nasledujúci príkaz.
awt javakill -15 4321>Na odoslanie signálu `SIGKILL` a PID `4321` môžeme použiť nasledujúci príkaz.
kill -9 4321>
Ako nájdem ID procesu (PID) konkrétneho programu v systéme Linux?
Ak chcete nájsť PID konkrétneho programu, môžete použiť
pgrep>príkaz, za ktorým nasleduje názov programu. Ak chcete napríklad nájsť PID procesu firefox, zadajte:pgrep firefox>
Aký je účelpkill>a ako sa líši od príkazukill>príkaz?
The
pkill>príkaz sa používa na odosielanie signálov procesom na základe ich názvu, čím poskytuje pohodlnejší spôsob ukončenia procesov. Líši sa odkill>tým, že používateľom umožňuje špecifikovať procesy podľa názvu a nie podľa PID.
Ako môžem skontrolovať využitie prostriedkov (CPU, pamäť) konkrétneho procesu v systéme Linux?
Ak chcete skontrolovať využitie prostriedkov konkrétneho procesu, môžete použiť
top>príkaz spolu s ID procesu (PID). Ak chcete napríklad monitorovať využitie prostriedkov procesu s PID 1234, spustili by ste:top -p 1234>
Záver
Príkaz `kill` v Linuxe je veľmi výkonný nástroj na správu procesov. Pochopili sme rôzne spôsoby špecifikovania signálov a dostupných možností v príkaze kill, ktoré nám môžu pomôcť efektívne spravovať naše systémové prostriedky a rýchlo a efektívne riešiť problémy.
zabiť -s