Mi az az ölési parancs?
A Linux egy fejlett és nagyszerű operációs rendszer; azonban nem tökéletes. Előfordulhat, hogy néhány alkalmazás hanyagul viselkedik, érzéketlenné válhat, vagy több rendszererőforrást is igénybe vehet.
Az érzéketlen alkalmazásokat nem lehet újraindítani, mert a tényleges alkalmazási folyamat soha nem áll le teljesen. Egyetlen megoldás a rendszer újraindítása vagy az alkalmazás folyamatának leállítása.
Vannak különféle segédprogramok, amelyek lehetővé teszik számunkra a hibás folyamatok leállítását megöl parancs. Ezt a parancsot a Linuxban használják legszélesebb körben.
Ban ben Linux , a kill parancs (a /bin/killben található) beépített parancsként definiálható.
A folyamatok kézi leállítására szolgál. A kill parancs viselkedése kissé eltér a shell és a /bin/kill önálló végrehajtható.
Alkalmazhatjuk a type parancsot a rendszerünk minden olyan helyének megjelenítésére, amely tartalmazza a killt:
$ type -a kill
A kill parancs egy jelet továbbít egy folyamat felé, amelyben tovább fejezi be a folyamatot. Ha a felhasználó nem ír le semmilyen jelet, amelyet a kill paranccsal továbbítani kell, akkor a TERM jel (alapértelmezett) kerül átvitelre, amely leállítja a folyamatot. Ha a jel nincs leírva, akkor az alapértelmezett lesz -tizenöt ( -TERM ).
string.replaceall java-ban
A legszélesebb körben alkalmazott jelek a következők:
Használhatjuk a kill parancsot a -l opció az összes elérhető jel listájának lekéréséhez:
$ kill -l
Ezek a jelek három különböző módon írhatók le. Ezeket a módokat az alábbiakban soroljuk fel:
- Szám szerint (pl. -6)
- SIG előtag nélkül (pl. -kill)
- SIG előtaggal (pl. -SIGkill)
Az alábbi parancsok hasonlóak egymáshoz:
- $ kill -SIGHUP PID_NUMBER
- $ kill -HUP PID_NUMBER
- $ kill -1 PID_NUMBER
A kill parancsnak adott PID-k bármelyike lehet az alábbiak közül:
- A jel a PID-hez hasonló ID-vel együtt kerül átvitelre a folyamatba, ha a PID nagyobb, mint nulla.
- A jel az aktuális folyamatcsoporton belül minden folyamathoz továbbítódik, ha a PID nullával egyenlő. Ez azt jelenti, hogy a jel minden olyan, a Shell GID-hez kapcsolódó folyamathoz kerül átvitelre, amely a kill parancsot kéri. Alkalmazhatjuk a ps -efj parancs a folyamatcsoport (GID) azonosítóinak megtekintéséhez.
- A jelet minden folyamathoz továbbítja a hasonló UID-vel együtt, amikor a felhasználó kéri a parancsot, ha a PID értéke -1. Ha a kérelmező felhasználó a root, akkor a jel a kill és az init folyamat kivételével minden folyamathoz átvitelre kerül.
- Ha a PID kisebb, mint -1, a jel a folyamatcsoporton belül minden folyamathoz továbbítódik a GID-vel együtt, hasonlóan a PID abszolút értékéhez.
A rendszeres felhasználók képesek jeleket továbbítani a folyamataikba. Nem tartalmazza azonban azokat a felhasználókat, akik kapcsolatban állnak más felhasználóval. Másrészt a root felhasználó képes továbbítani a jelet a másik felhasználó folyamataihoz.
- A -1 PID nagyon egyedi, mert minden folyamatot jelez, kivéve az init és killt, amelyek a rendszeren belüli összes folyamat szülőfolyamata.
- A PID negatív értékei a folyamatcsoport azonosítójának jelzésére szolgálnak. Ha átadunk egy folyamatcsoport azonosítót, akkor a csoporton belül minden folyamat megkapja a jelet.
- A futó folyamatok listájának megjelenítéséhez használhatjuk a ps parancsot, amely megmutatja nekünk a futó folyamatokat a PID számmal együtt. Meg kell adnunk a PID-t annak meghatározásához, hogy melyik folyamat kapja meg a kill parancs jelét.
Szintaxis:
$ps
ps ide: Ez a parancs minden futó folyamat megjelenítésére szolgál, a PID-kkel és egyéb részletekkel együtt. Ha nem ismerjük a folyamatazonosítót, használhatjuk ezt a parancsot.
A kill parancs beállításai
1. kill -l: Ez az opció minden létező jel megjelenítésére szolgál, a következő parancsopciót alkalmazhatjuk:
hogyan kell futtatni a szkriptet linux alatt
Szintaxis:
$kill -l
2. kill pid: Ez az opció a PID és a kill paranccsal történő alkalmazásának bemutatására szolgál.
Szintaxis:
$kill pid
3. megöl -L: A kill -L parancs használható a létező jelek táblázat formátumban történő felsorolására.
Szintaxis:
/bin/kill -L
4. Fordítsa le a jel számát: A következő paranccsal könnyen lefordíthatunk bármilyen jel számot jelnévvé:
/bin/kill --list=12