A kill parancs a Unix

A kill parancs a Unix

A kill parancs a Unix / Linux

Signals - szoftverek megszakítások. Ezeket használják a kommunikációs folyamatok között UNIX és hasonló operációs rendszerek, mint a Linux, Mac OS.







Jelek óta használt Bell Labs UNIX 1970-ben és ma hivatalosan meghatározza a POSIX szabvány. Amikor a jelnek a folyamat, az operációs rendszer megszakítja a normál áramlását a folyamat végrehajtása és értesítést ad.

Nem számít, hogy milyen operációs rendszert használ, akkor minden bizonnyal találkoznak úgy, hogy az alkalmazások vannak tiltva, és megtagadják a megfelelő működéshez. A Unix, Linux, van egy csapat «ölni», amelynek segítségével megállítani a folyamatot azonnal, de nem csak ez, de erről bővebben később elmondom. Ebben a cikkben, «ölni parancsot a Unix / Linux» mondom, és mutassa be a kész példák különböző közüzemi kill parancsot.

Parancsok és jelek ölni

Ha végrehajt egy parancsot «ölni», akkor tulajdonképpen üzenetet küld a rendszer, és utasításokat ad leállásához robotalkalmazások. Van összesen 60 jel, hogy lehet használni, de minden, amire szüksége van tudni, SIGTERM (15) és SIGKILL (9).

A kill parancs a Unix

ölni -l Debian

Megpróbálom elmondani neked azokat a jeleket, de csak az elején beszélni a legfontosabb és leggyakrabban használt.

Key jelek

Az alábbi jelek a POSIX szabvány. Minden jel makró meghatározott rendszer header fájlt. Ezek általában rövidítve, anélkül, hogy azok aján- előtag; mint például SIGHUP gyakran nevezik egyszerűen csak a HUP.

SIGTERM - Ez a jel azt kéri, megállás folyamat, ami működik. Ez a jel proignorirovan.Protsessu adott idő alatt is leáll. Amikor a program jómódú, ez azt jelenti, hogy adott időben, hogy megmentse a haladás és a szabad forrásokat. Más szóval, nem «kénytelen» leállítási folyamat.

SIGKILL - SIGKILL jel hatására a folyamat, hogy beszünteti a munkát azonnal. A program nem tudja figyelmen kívül hagyni ezt a jelet. Nem mentett előrehaladás elvész.

A parancs szintaxisa a következő:

Különösen hasznos jelek közé HUP, INT, megöl, STOP, CONT, és 0.

-s signal_name
A szimbolikus jel neve meghatározza a jelet a nem az alapértelmezett jelet.

-l [exit_status]
Ha az operandus nincs megadva, mutatja a jel nevét; Ellenkező esetben írja a nevét a megfelelő jel exit_status.

-signal_name
A szimbolikus jel nevét meghatározó jelet kell küldeni az alapértelmezett TERM.

-signal_number
Egy nem-negatív decimális egész, amely megadja a jelet kell küldeni az alapértelmezett TERM.

A következő PID-ek, amelyek különösen fontosak:
-1 Ha rendszergazda, sugározzák a jelet, hogy minden folyamat; egyébként sugározzon minden protsessybelong-
ING a felhasználónak.

Néhány a leggyakrabban használt jelek:

  • 1 HUP (leteszi) - akasztani.
  • 2 INT (interrupt) - megszakítja.
  • 3 QUIT (kilép) - hozam.
  • 6 ABRT (megszakítási) - megszakítja.
  • 9 KILL (nem halászható, nem elhanyagolható kill)
  • 14 ALRM (ébresztőóra) - Service.
  • 15 TERM (szoftverek leállítása jel) - Szoftver megszüntető jel.

«Pkill» parancs lehetővé teszi, hogy a kiterjesztett reguláris kifejezés szokások és egyéb jogosultsági feltételeknek. Ahelyett, hogy a PID, akkor most megöli az app beírja a nevét a folyamat. Például, hogy ubitbrauzer Firefox. Csak az alábbi parancsot:

Xkill grafikus úton „megölni” a kérelmet. Ha belép „xkill” a terminál, a kurzor azonnal lesz egy „kereszt”. Mindössze annyit kell tennie, hogy nyomja meg a „kereszt” a jogsértő kérelmet és meg fogja ölni az alkalmazás azonnal. Ha érdekel, akkor adjunk hozzá egy parancsikont, hogy aktiválja XKill funkciót.

Több jeleket használja

Ez a jel egy jelet küld a folyamat, hogy megszakítja a műveletet. ABRT általában irányítani a folyamatot, amikor azt kéri a kapcsolat megszakadt () függvény programozási nyelv a jel megszakítja, de lehet irányítani bármely folyamat, mint bármely más jelet.







SIGALRM, SIGVTALRM és SIGPROF

ALRM, VTALRM és / vagy PROF folyamat jelet küld, ha a meghatározott határidő a hívás jelátviteli funkció (például, setitimer) lejár.

Ez küldeni, ha a jelen idő vagy óráját.

Küldeni, ha a CPU időt a folyamatban használt lejáró.

Küldeni, ha a processzor időt, ami az eljárás és a rendszer nevében a folyamat befejeződik.

CHLD jelet küld folyamatot, amikor a gyermek folyamat befejeződött, megszakított vagy folytatható megszakítás után. Az egyik gyakori jelzések alkalmazására - az, hogy a visszacsatoló jelet razzia felhasznált források a folyamatban a gyermek folyamat bezárása után csak külön rendszer hívást.

A jel CONT utasítja az operációs rendszer, és jelet ad újraindítani a folyamatot, amelyet korábban felfüggesztett a stop üzemmódban vagy TSTP jelet. Az egyik fontos jellemzője, hogy ez a jel, hogy ellenőrizzék a munka a Unix shell.

FPE jelzések küldési folyamatot, amikor végez hibás működtetés számtani, például, mint például a nullával osztás.

HUP jelet küldő folyamat, amikor a beléptető terminál zárva van. Ez eredetileg tervezték, hogy tájékoztassa a folyamat bukása után a soros vonalon (HUP felelős a „befagyasztása”). A modern rendszerek, ez a jel általában azt jelenti, hogy a vezérlő a pszeudo vagy virtuális terminál zárva volt.

ILL jelet küldött a folyamat, amikor megpróbál végrehajtani rosszindulatú, ismeretlen vagy privilegizált utasítások (utasítások).

INT küldi a folyamat jelet a vezérlő terminál, amikor a felhasználó kívánja megszakítani a folyamatot. Ez általában kezdeményezett a Control-C, de egyes rendszerekben «törölni» vagy «szünet».

KILL küldi a folyamat jel, hogy azonnal hagyjanak működését. Ellentétben SIGTERM SIGINT és ez a jel nem lehet foglyul, vagy figyelmen kívül hagyja, és a fogadó folyamat nem végez semmilyen tisztítási miután megkapta ezt a jelet.

PIPE jelet küldött a folyamatot, amikor próbál írni a cső nélkül a folyamat kapcsolódik a másik végén.

QUIT jelet küld a folyamat ellenőrzése terminál, ha a felhasználó kéri a kiírási folyamat.

SEGV jelet küld a folyamatot, amikor ő teszi érvénytelenné a virtuális memória a linket vagy kudarcát szegmentáció, hogy van, amikor végez egy szegmentációs hiba.

STOP jel jelzi az operációs rendszer, hogy állítsa le a folyamatot további megújítására.

TERM jelet küld a folyamat, hogy kérje annak felbontását. Ellentétben «ölni» jel, akkor lehet értelmezni, vagy figyelmen kívül hagyja a folyamatban. Ez lehetővé teszi a folyamat elvégzésére «szép» megállítani a végrehajtás a kibocsátás és az erőforrások védettségi állapot, ahol szükséges. Meg kell jegyezni, hogy szinte azonos a SIGINT SIGTERM.

TSTP jelet küld a folyamat vezérlő terminálról és azt mondja neki, hogy fel kell függeszteni. Ez általában a felhasználó által kezdeményezett megnyomja a Control-Z. Ellentétben SIGSTOP, a folyamat regisztrálja a jelet kezelő vagy figyelmen kívül hagyni a jelet.

A TTIN TTOU és jeleket küld a folyamat, amikor megpróbálja olvasni vagy írni, illetve (tty) terminál a háttérben. Jellemzően, ezt a jelet lehet kapott csak eljárásokkal ellenőrzése alatt működő panel; démonok nincs ellenőrzés terminálok, és soha nem kap jelet.

És USR1 USR2 által küldött jel a felhasználói folyamat, és bizonyos feltételeket jelez.

Szavazás jelet küld a folyamatot, amikor egy aszinkron I / O esemény.

SYS jelet küld a folyamat, amikor elküld egy rossz érv a rendszer hívást.

TRAP jel küldő folyamat, ha van egy feltétele, hogy a hibakereső kértek tájékoztatást - így például, ha egy adott funkció végrehajtása vagy ha egy bizonyos értéket a változó változik.

URG jelet küld a folyamat, amikor az aljzat sürgős vagy az adatok körét elérhető olvasásra.

XCPU jelet küld a folyamatot, amikor ez használ meghalad egy bizonyos előre meghatározott értéket, a CPU által létrehozott felhasználói idővel. Érkezés XCPU jel eljárást biztosít, hogy gyorsan ment minden részeredmények és tölteni is, mielőtt állítsa le az operációs rendszert a SIGKILL jelet.

XFSZ jelet küld a folyamat, amikor a fájl növekszik (meghaladja az előre meghatározott érték), mint a maximálisan megengedett értéket.

SIGRTMIN a SIGRTMAX

RTMIN jelek - RTMAX felhasználásra szánt egyéni célra. Ezek a valós idejű jeleket.

különböző jelek

A jelek nem egységesek, POSIX, néha néhány rendszeren.

A jelet a EMT folyamatot, amikor a megszakítás érkezik emulátor.

INFO jelet küldenek a folyamat, amikor az állapot kérés érkezik a vezérlő terminál.

PWR jelet küld a folyamat, amikor a rendszer tapasztalatait áramkimaradás.

LOST jelet küld a folyamat, amikor a «file lock» elveszett.

CSÖRLŐ jelet küld a folyamatot, amikor a vezérlő terminál változik a mérete.

Jeleket a billentyűzetről

Ebe a billentyűzetről. Számos szabványos alapértelmezett értékek kerülnek felsorolásra. Az alapértelmezett gyorsbillentyű küldeni megszakítás jelek segítségével lehet meghatározni a stty parancsot.

Küldj SIGINT (interrupt). Alapértelmezés szerint ez okozza a folyamat befejeződik.

Küldj SIGTSTP (Suspend). Alapértelmezés szerint ez okozza a folyamat felfüggesztését összes műveletet.

Küldj SIGQUIT (Quit). Alapértelmezés szerint ez okozza a folyamat azonnali leállítását és a kernel.

Küldj SIGINFO (INFO). Alapértelmezés szerint ez okozza az operációs rendszer információk megjelenítéséhez a csapat. Nem minden rendszer támogatja.

Amikor az alkalmazások viselkednek, és hatására a rendszer lefagy, nagyon csábító, hogy indítsa újra a számítógépet, és indítsa el a munkamenet újra és újra. Ezekkel «ölni» parancsokat, akkor jobban ellenőrizzék a rossz viselkedés alkalmazások okozzák, vagy okozhat a rendszer összeomlik. Ezen úgy vélem, ez a téma «kill parancs a Unix / Linux».