Ubijte postopek z enim samim ukazom

Velikokrat moramo ubiti postopek prek terminala. Če poznamo polno ime postopka (na primer: Kate) nimamo težav, preprosto:

killall kate

Težavo nam reši ... kaj pa se zgodi, če ne vemo natančnega imena postopka?

Ob teh priložnostih moramo našteti vse procese z ps aux kot je prikazano na naslednjem posnetku zaslona:


Nato poiščite PID procesa, ki ga v tem primeru iščemo PID Kate:


Do takrat naredite:

kill 3808

In voila, tam ubijemo postopek.

No ... v eni vrstici lahko iščemo postopek (ne da bi morali vedeti polno ime), ugotovimo njegov PID in ga tudi ubijemo:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill

Kot lahko vidite:

  1. Naštejemo postopke (ps aux)
  2. Ne vemo celotnega ali natančnega imena Kate (hej, lahko je kate-editor ali kaj podobnega), zato filtriramo samo po kat (grep kat)
  3. Ampak dobili bomo dva postopka, povezana s kat, če bomo uporabili samo ta filter, enega, ki je postopek kate, in drugega, ki je postopek, ki ga aktiviramo za filtriranje, pustim vam posnetek zaslona, ​​da boste lahko končali razumevanje: (Upoštevajte, da obstajata 2 vrstici, to je 2 procesa)

  4. Da bi se izognili prej pojasnjenim, naredimo še en filter (grep -v grep). Kaj bomo storili nasprotno ... če filtriramo s pomočjo grep, bo prikazal le ujemanja s filtrom, dobro z grep -v Naročimo vam, da NE prikazujte tekem, ampak pokažite, kaj se ne ujema. Pokažem vam posnetek zaslona, ​​kako bi bil rezultat do zdaj: (Upoštevajte, da se zdaj prikaže samo postopek Kate)

  5. No, postopek, ki ga želimo ubiti, že imamo izoliran, zdaj moramo le še izvleči njegov PID, ki je 2. številka, to je, 4062. In PID je v 2. stolpcu (1. stolpec vsebuje uporabnika z UID 1000), zato lahko z uporabo awk rečemo, da iz te vrstice pokaže le tisto, kar najde v 2. stolpcu (awk '{print $ 2}'). Kar bi nam pokazalo samo številko postopka, to pomeni, da bo v terminalu prikazan samo PID.
  6. Ampak ne želimo prikazati PID-a, kar hočemo, je ubiti postopek s tem PID-om ... torej bomo to storili, to, kar imamo do sedaj, bomo predali ukazu ubiti in pripravljen (xargs ubijajo)
  7. Kaj to pomeni xargs? ... preprosto, v tem primeru ne moremo prenesti PID-a za ubijanje samo s cevmi ( | ), to preprosto ni dovolj, zato xargs (ki omogoča, da posreduje vrednosti ali podatke in jih nato izvrši ali ubije) je tisto, kar nam bo omogočilo, da končamo delo.

In tu se konča 😀

Da ... Vem, da se mi zdi to nekoliko zapleteno, in ravno zato sem poskušal to najbolje razložiti.

Vem, da bo verjetno le malokdo potreboval ta ukaz, vendar je cilj tega članka enak cilju DesdeLinux, vsak dan jih naučim nekaj novega, vedno jih poskušam prepričati, da izgubijo strah pred Linuxom ... in osebno bi rad tudi, da se naučijo brez strahu uporabljati terminal 😉

Kakorkoli ... Upam, da se vam je zdelo zanimivo, nenehno se učim, kako uporabljati vau kar je res super hehe.

pozdrav


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

  1.   ezitoc je dejal

    Res je, awk mi je bil zelo koristen in mislim, da je vsem, ki morajo manipulirati s strukturiranimi besedilnimi datotekami, zelo priporočljivo vedeti, kako jih uporabljati.

    Imam samo vprašanje (ki nima nobene zveze z vnosom: D), kako (in s katerim programom) ste naredili učinek zameglitve, ki vam omogoča, da označite del posnetka zaslona?

    Lep pozdrav.

    1.    ezitoc je dejal

      Testiranje če je to iz oblike deluje in če ne nekdo mi pove, kako naj to storim

      Hvala lepa.

    2.    KZKG ^ Gaara je dejal

      No ja ... Znova sem odkril Linux, ko vem, kako delati z awk HAHAHAHA.
      O učinku in podobnem pa nič ... to je samo Gimp 😀

      Izberem del, ki ga želim poudariti, ga izrežem s [Ctrl] + [X] in prilepim kot nov sloj, nato izberem spodnji sloj (ta je tisti, ki ga želim neprozornega) in pojdem na Filtri- »Gaussian (ali karkoli že napišete) hehe) in voila.
      Zdaj, da mu dam temni učinek, preprosto ustvarim novo plast (belo ozadje) in jo postavim med te dve, ki sem jih že imel, dam ji črno barvo in jo v prosojnici (zgornji desni kot) premaknem tja, kjer dosežem želeni učinek .

      Lep pozdrav in hvala za komentar 🙂

      1.    Roberto razvija Santana je dejal

        Velika !!

  2.   Priročnik vira je dejal

    Če postopek poteka iz vidnega programa, ni nič bolj udobnega kot tipkanje xkill na konzoli kliknite program za ubijanje in to je to.

    1.    KZKG ^ Gaara je dejal

      kliknite na program za ubijanje
      hehe ja ... to je ob predpostavki, da imaš GUI hehe.

      1.    Priročnik vira je dejal

        Tako je, zato sem rekel, "če je postopek iz programa, ki je viden."

        1.    Windousian je dejal

          Lažje je klikniti na gumb z "X". GNOME Shell še vedno ima ta gumb, kajne? :-D.

          1.    Priročnik vira je dejal

            Če je program zamrznjen (kar je glavni razlog, zakaj bi morali ubiti postopek), je logično, da se ta gumb ne bo odzval ne glede na to, koliko ga pritisnete.

            Mislim, da ga bo GNOME Shell kmalu odstranil, tako da boste lahko videli taktilno čudo zapiranja oken tako, da jih povlečete na dno zaslona, ​​kot v sistemu Windows 8. Ni treba posebej poudarjati, da je na širokozaslonskih monitorjih to izvrstna vaja.

          2.    Windousian je dejal

            Sedaj razumem. V tem primeru imam raje Control + Alt + Esc (v KDE).

            Komaj čakam, da vidim nove predoglede školjke GNOME, so prava poslastica.

  3.   pravilno je dejal

    To počne enako, vendar je manj napisanega.
    V tem primeru sem za primer vzel listno ploščico, zato se list pojavi v grep
    ps -e | grep leaf | awk '{print $1}' | xargs kill

    pozdrav

  4.   Sys je dejal

    Fuj! Moj sin, poskusi zagnati "pgrep kat", kar je "pgrep" za nekaj.

    In izvršiti "man pgrep". In "človek pidof", ki vam včasih lahko "pidof" pomaga.

    In izvršiti «ps aux | grep [k] at ", ki kot rezultat ne bo vrnil" procesa, ki ga aktiviramo za filtriranje ", ki ga komentirate, s čimer prihranite svoje delo.

    Pozdravljeni!

    1.    Sys je dejal

      Oh, in "pkill", ki naredi tisto, kar iščete. Na primer: "pkill kat".

    2.    KZKG ^ Gaara je dejal

      Oh, zanimivo ... Nisem poznal pgrep 🙂
      Hvala za nasvet 😀

      1.    Sys je dejal

        Hvala vam in vašim člankom.

        Mimogrede, v https://flossblog.wordpress.com/2009/11/11/truco-del-dia-excluir-al-proceso-grep-en-la-salida-de-ps-aux/ komentirajte tehniko uporabe ukazov, kot je «ps aux | grep [n] ime_programa ", tam razložijo bolje kot jaz.

        Pozdravljeni!

        1.    KZKG ^ Gaara je dejal

          Hvala za povezavo 😀
          To je odlična stvar, da obstaja. DesdeLinux… ni važno ali ste uporabnik, urednik ali skrbnik, vsi se vedno učimo novih stvari 🙂

          Lep pozdrav in še enkrat hvala prijatelj.

  5.   strošek je dejal

    Vsem najlepša hvala za vaš čas in predanost, zato je vredno obiskati in prebrati to spletno stran večkrat na dan.

    Hvala še enkrat.

  6.   Gospod Linux. je dejal

    KZKG ^ Gaara je skoraj vedno enak, ko gre za tovrstne nasvete, obstaja še ena oseba, ki to stori s preprostim ukazom. A čestitam mu, vedno nenehno prispeva.

    1.    KZKG ^ Gaara je dejal

      hehe ja ... vem, kako narediti X osa, in pridem sem, da razkrijem metodo, potem pa delijo preprostejši način, da dosežejo isto stvar hahaha, ampak s tem vsi zmagamo, kajne? 😀

      1.    truko22 je dejal

        Tako je 0 /

      2.    Priročnik vira je dejal

        Hahahaha, vedno greš po najbolj zapleteni poti. 😀

        1.    KZKG ^ Gaara je dejal

          HAHAHA ja, vedno sem mislil: «Če vem, kako to storiti na težji način, potem se bom naučil to delati na preprost način brez težav.»In ... obratno, ne deluje enako hahaha.

  7.   Oscar je dejal

    Težava bi bila, če imamo dva procesa s podobnim imenom.
    Na primer, postopek kate in še en postopek ... mmm ... recimo kater xD
    S takim ukazom bi oba pobili, kajne?

    1.    KZKG ^ Gaara je dejal

      No ja, to bi se zgodilo 🙂

  8.   truko22 je dejal

    TT uboga Kate. V KDE uporabljam xkill, hitro se zažene s "ctrl + alt + esc" ali tudi z "ctrl + Esc" odprte "Sistemske dejavnosti" in to grafično. Zdaj se je treba naučiti tega postopka prek terminala, čeprav imam domači strežnik s stabilnim debianom in to sploh ne zruši.

  9.   Yulian je dejal

    Super! Zdaj, ko obiskujem tečaj iz operacijskih sistemov in moram izvajati naloge s terminalom, je bila vaša vadnica v veliko pomoč! hvala

  10.   Pablo je dejal

    Zelo dobro razloženo, super blog, ki sem ga pravkar spoznal, usmerim ga med priljubljene. Hvala vam.

  11.   Anon je dejal

    No, dobro je, čeprav se včasih zgodi, da jih ni mogoče ubiti ...

  12.   dcoy je dejal

    pkill -9

    1.    dcoy je dejal

      pkill -9 "ime procesa"
      v prejšnjem komentarju sem dal «», vendar se ni pojavil xD

  13.   itobes je dejal

    dober večer, imam čas za branje vašega vira in danes sem se odločil preizkusiti ta ukaz ps ax | grep krom | grep -v grep | awk '{print $ 1}' | xargs kill in naletim na naslednjo napako kill: ni mogoče najti procesa "?" z malo izkušenj z bashom sem se odločil za nekaj sprememb in na koncu mi ostane ps -A | grep c | grep -v grep | awk '{print $ 1}' | xargs kill glede na to, da se ps -A uporablja za povzetek vseh procesov, druga anomalija pa je bila, da je vrgel TTY «?» in to mi je uspelo hvala lepa. Všeč mi je vaš blog, lep pozdrav

  14.   Michael je dejal

    Hvala kompa, ne morete si predstavljati, koliko težav ste mi pravkar rešili s tem ukazom.

    Lep pozdrav!

  15.   E-naslov je dejal

    HVALA !!!!

  16.   Arturo je dejal

    Odlična objava. Le tisto, kar sem iskal in nisem vedel, kako to storiti, in razlaga je bila zelo dobra.

    Lep pozdrav.