Android

Öld meg a parancsot a linuxban

Linux on MAC. What distro should you use?

Linux on MAC. What distro should you use?

Tartalomjegyzék:

Anonim

A Linux nagyszerű és fejlett operációs rendszer, de nem tökéletes. Időnként egyes alkalmazások hibásan viselkedhetnek, reagálhatatlanná válhatnak, vagy rengeteg rendszer erőforrást fogyaszthatnak. A nem reagáló alkalmazásokat nem lehet újraindítani, mert az eredeti alkalmazási folyamat soha nem áll le teljesen. Az egyetlen megoldás a rendszer újraindítása vagy az alkalmazás folyamatának megsemmisítése.

Számos segédprogramok lehetővé teszik a hibás folyamatok megszüntetését a leggyakrabban használt elemek kill .

kill parancsot

kill a legtöbb Bourne-ból származó héjában, például a Bashban és a Zsh-ben egy héjépítő. A parancs viselkedése kissé különbözik a héjak és az önálló /bin/kill végrehajtható fájlok között.

A type paranccsal jelenítse meg a rendszer összes olyan helyét, amely kill tartalmaz:

type -a kill

kill is a shell builtin kill is /bin/kill

A fenti kimenet azt mondja, hogy a shell buildtin elsőbbséget élvez az önálló futtatható fájlokkal szemben, és akkor használják, amikor a kill írja be. Ha bináris fájlt szeretne használni, írja be a fájl /bin/kill fájl teljes elérési útját., a Bash beépített verziót fogjuk használni.

A kill parancs szintaxisa a következőképpen alakul:

kill…

A kill parancs jelet küld a megadott folyamatoknak vagy folyamatcsoportoknak, és a jel szerint cselekszik. Ha a jel nincs megadva, akkor az alapértelmezett értéke -15 (-TERM).

A leggyakrabban használt jelek:

  • 1 ( HUP ) - egy folyamat újratöltése. 9 ( KILL ) - Öld meg egy folyamatot. 15 ( TERM ) - A folyamatot kecsesen állítsa le.

Az összes elérhető jel listájának megtekintéséhez hívja be a parancsot az -l kapcsolóval:

kill -l

A jeleket háromféleképpen lehet meghatározni:

  1. Szám használata (pl. -1 vagy -s 1 ).A „SIG” előtag használata (pl. -SIGHUP vagy -s SIGHUP ).A „SIG” előtag nélkül (pl. -HUP vagy -s HUP ).

A következő parancsok egyenértékűek egymással:

kill -1 PID_NUMBER kill -SIGHUP PID_NUMBER kill -HUP PID_NUMBER

A kill parancs számára megadott PID-k a következők egyikét képezhetik:

  • Ha a PID nagyobb, mint nulla, akkor a jelet a folyamatra a PID vel megegyező azonosítóval küldik el. Ha a PID nulla, a jelet az aktuális folyamatcsoport összes folyamatához eljuttatják. Más szavakkal, a jelet a kill parancsot idéző ​​héj GID-jéhez tartozó összes folyamathoz eljuttatjuk. Használja a ps -efj parancsot a folyamatcsoport-azonosítók (GID) megtekintéséhez. Ha a PID értéke -1 , akkor a jelet az összes folyamatra ugyanazzal a UID azonosítóval küldi el, mint a parancsot hívó felhasználó. Ha a meghívó felhasználó gyökér, akkor a jelet minden folyamatnak elküldi, kivéve az init-t és magát a kill folyamatot. Ha a PID értéke kevesebb, mint -1 , akkor a jelet az eq folyamatcsoport minden folyamatához elküldik, amelynek GID-je megegyezik a a PID .

A rendszeres felhasználók jeleket küldhetnek saját folyamataikhoz, de nem a többi felhasználóhoz tartozó folyamatokhoz, míg a gyökér felhasználó jeleket küldhet más felhasználók folyamatainak.

A folyamatok leállítása a kill paranccsal

A folyamat leállításához vagy leállításához a kill paranccsal először meg kell találnia a folyamat azonosító számát (PID). Különféle parancsokkal, például top , ps , pidof és pgrep parancsokkal teheti meg.

Tegyük fel, hogy a Firefox böngésző nem reagál, és meg kell ölnie a Firefox folyamatát. A böngésző PID- pidof megkereséséhez használja a pidof parancsot:

pidof firefox

A parancs kinyomtatja az összes Firefox folyamat azonosítóját:

6263 6199 6142 6076

Miután megismerte a folyamatszámokat, megszakíthatja őket a TERM jel elküldésével:

kill -9 2551 2514 1963 1856 1771

A PID-k keresése és a folyamatok megszüntetése helyett a fenti parancsokat egyesítheti egybe:

kill -9 $(pidof firefox)

Folyamatok újratöltése a kill parancs használatával

A kill másik gyakori esete a HUP jel elküldése, amely megmondja a folyamatoknak a beállítások újratöltését.

Például az Nginx újratöltéséhez jelet kell küldenie a master folyamathoz. Az Nginx mester folyamat azonosítója megtalálható az nginx.pid fájlban, amely általában a /var/run könyvtárban található.

A cat paranccsal keresse meg a fő PID-t:

cat /var/run/nginx.pid

30251

Miután megtalálta a fő PID-t, töltse újra az Nginx-beállításokat a következő gépeléssel:

sudo kill -1 30251

A fenti parancsot root vagy felhasználóként kell futtatni, sudo jogosultságokkal.

Következtetés

A kill parancs jelzést ad a folyamatokhoz. A leggyakrabban használt jel a SIGKILL vagy -9 , amely leállítja az adott folyamatokat.

öld meg a terminált