Ubijte postupak jednom naredbom

Mnogo puta moramo proces ubiti putem terminala. Ako znamo puno ime procesa (na primjer: Kate) nemamo problema, jednostavan:

killall kate

To nam rješava problem ... ali što će se dogoditi ako ne znamo tačan naziv postupka?

U tim prilikama moramo navesti sve procese sa ps aux kao što je prikazano na sljedećem snimku zaslona:


Zatim potražite PID procesa, koji u ovom slučaju tražimo PID Kate:

Do tada napravite:

kill 3808

I voila, tamo ubijamo proces.

Pa ... u jednom retku možemo tražiti postupak (bez potrebe da znamo puno ime), saznati njegov PID i također ga ubiti:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill

Kao što možete vidjeti:

  1. Mi navodimo procese (ps aux)
  2. Ne znamo puno ili tačno ime Kate (hej, to može biti kate-editor ili nešto slično), tako da filtriramo samo po kat (grep kat)
  3. Ali dobit ćemo dva procesa vezana za kat ako koristimo samo ovaj filtar, jedan koji je kate postupak, a drugi koji je proces koji aktiviramo za filtriranje, ostavljam vam snimak zaslona kako biste mogli dovršiti razumijevanje: (Primijetite da postoje 2 linije, odnosno 2 procesa)
  4. Da bismo izbjegli prethodno objašnjeno, napravimo još jedan filter (grep -v grep). Ono što ćemo učiniti suprotno ... ako filtriramo pomoću grep-a, pokazat će samo podudaranja s filterom, dobro sa grep -v Nalažemo vam da NE pokazujete utakmice, već da pokazujete ono što se ne podudara. Pokazat ću vam snimak zaslona kako bi do sada bio rezultat: (Imajte na umu da se sada pojavljuje samo proces Kate)
  5. Pa, već imamo postupak koji želimo ubiti izolirano, sada moramo samo izvaditi njegov PID, koji je drugi broj, tj. 4062. A PID je u drugoj koloni (1. stupac sadrži korisnika s UID 1000), pa koristeći awk možemo reći da iz te linije pokazuje samo ono što nalazi u 2. stupcu (awk '{ispiši $ 2}'). Što bi nam pokazalo samo procesni broj, odnosno samo će se PID pojaviti u terminalu.
  6. Ali mi ne želimo pokazati PID, ono što želimo je da ubijemo proces s tim PID-om ... pa ćemo to učiniti, prosljeđujemo ono što imamo do sada naredbi ubiti i spreman (xargs ubiti)
  7. Šta znači taj xargs? ... jednostavno, u ovom slučaju ne možemo proći PID da ubijemo samo cijevima ( | ), to jednostavno nije dovoljno, pa xargs (koji omogućava prosljeđivanje vrijednosti ili podataka, a zatim izvršavanje ili ubijanje) je ono što će nam omogućiti da završimo posao.

I tu završava 😀

Da ... Znam da ovo izgleda pomalo složeno, zato sam i pokušao to objasniti najbolje što sam mogao.

Znam da će možda malo kome biti potrebna ova naredba, ali cilj ovog članka isti je kao i DesdeLinux, naučiti ih nečemu novom svaki dan, uvijek pokušavajući učiniti da izgube strah ili strah od Linuxa ... i osobno bih volio da i oni nauče koristiti terminal bez straha 😉

U svakom slučaju ... Nadam se da vam je bilo zanimljivo, nastavljam učiti kako koristiti awk što je stvarno super hehe.

Saludos


Sadržaj članka pridržava se naših principa urednička etika. Da biste prijavili grešku, kliknite ovdje.

34 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   ezitoc rekao je

    Istina je, awk mi je bio vrlo koristan i mislim da se svima koji trebaju manipulirati strukturiranim tekstualnim datotekama toplo preporučuje da znaju kako ih koristiti.

    Samo imam pitanje (nema nikakve veze sa ulazom: D), kako (i s kojim programom) ste napravili taj efekt zamućenja koji vam omogućava da istaknete dio snimka zaslona?

    Pozdrav.

    1.    ezitoc rekao je

      Testiranje ako je ovo iz formata radi i ako ne neko mi kaže kako se to radi

      Hvala lijepo.

    2.    KZKG ^ Gaara rekao je

      Pa da ... Otkrio sam Linux sada kad znam raditi s awk HAHAHAHA.
      O efektu i slično, ništa ... to je samo Gimp 😀

      Odaberem dio koji želim istaknuti, isječem ga sa [Ctrl] + [X] i zalijepim kao novi sloj, zatim odaberem donji sloj (koji je onaj koji želim neprozirnim) i idem na Filteri- »Gaussian (ili što već napišete) hehe) i voila.
      Sada, da bih dobio tamni efekt, jednostavno kreiram novi sloj (bijela pozadina) i postavim ga između ova dva koja sam već imao, dajem mu crnu boju i na traci prozirnosti (gornji desni kut) premještam ga tamo gdje postižem željeni efekt .

      Pozdrav i hvala na komentaru 🙂

      1.    Roberto razvija Santana rekao je

        Big !!

  2.   Manuel de la Fuente rekao je

    Ako je postupak iz vidljivog programa, ništa ugodnije od tipkanja xkill na konzoli kliknite na program za ubijanje i to je to.

    1.    KZKG ^ Gaara rekao je

      kliknite na program za ubijanje
      hehe da ... to je pod pretpostavkom da imate GUI hehe.

      1.    Manuel de la Fuente rekao je

        Tačno, zato sam i rekao „ako je proces iz programa koji je vidljiv“.

        1.    Windóusico rekao je

          Lakše je kliknuti na dugme sa "X". GNOME Shell još uvijek ima to dugme, zar ne? :-D.

          1.    Manuel de la Fuente rekao je

            Ako je program zamrznut (što je glavni razlog zašto biste trebali ubiti njegov proces) logično je da ovo dugme neće reagirati bez obzira na to koliko ga pritisnete.

            Mislim da će ga GNOME Shell uskoro ukloniti tako da možete vidjeti taktilno čudo zatvaranja prozora povlačenjem na dno ekrana kao u Windowsu 8. Nepotrebno je reći da je na širokim ekranima to fantastična vježba.

          2.    Windóusico rekao je

            Sad razumem. U tom slučaju više volim Control + Alt + Esc (u KDE-u).

            Jedva čekam da vidim nove GNOME Shell preglede, oni su prava poslastica.

  3.   pravi rekao je

    Ovo radi isto, ali manje je napisano.
    U ovom slučaju uzeo sam kao primjerak pločicu zbog čega se list pojavljuje u grep-u
    ps -e | grep leaf | awk '{print $1}' | xargs kill

    Saludos

  4.   Sys rekao je

    Fuj! Sine moj, pokušaj pokrenuti "pgrep kat", što je "pgrep" za nešto.

    I izvršiti "man pgrep". I "man pidof", koji vam ponekad "pidof" može pomoći.

    I izvršiti «ps aux | grep [k] at ", koji neće vratiti kao rezultat" proces koji aktiviramo za filtriranje "koji komentirate, čime štedite svoj rad.

    Pozdrav!

    1.    Sys rekao je

      Oh, i "pkill", koji radi ono što tražite. Na primjer: "pkill kat".

    2.    KZKG ^ Gaara rekao je

      Oh, zanimljivo ... Nisam znao pgrep 🙂
      Hvala na savjetu 😀

      1.    Sys rekao je

        Zahvaljujući vama i vašim člancima.

        Usput, u https://flossblog.wordpress.com/2009/11/11/truco-del-dia-excluir-al-proceso-grep-en-la-salida-de-ps-aux/ komentirajte tehniku ​​korištenja naredbi poput «ps aux | grep [n] program_name ", oni to objašnjavaju bolje od mene.

        Pozdrav!

        1.    KZKG ^ Gaara rekao je

          Hvala na linku 😀
          To je sjajna stvar što DesdeLinux postoji ... nije važno jeste li korisnik, urednik ili administrator, uvijek svi učimo nove stvari 🙂

          Pozdrav i hvala još jednom prijatelju.

  5.   koste rekao je

    Hvala svima na vašem vremenu i predanosti, vrijedi posjetiti i pročitati ovu stranicu nekoliko puta dnevno.

    Hvala još jednom.

  6.   Gospodine Linux. rekao je

    KZKG ^ Gaara je gotovo uvijek isti, što se tiče ovakvih savjeta, postoji još jedna osoba koja to čini jednostavnom naredbom. Ali čestitam mu, on uvijek kontinuirano doprinosi.

    1.    KZKG ^ Gaara rekao je

      hehe da ... Znam kako se radi Xosa i dolazim ovdje i dijelim metodu, ali onda dijele jednostavniji način da se postigne isto hahaha, ali ovim svi pobjeđujemo, zar ne? 😀

      1.    truko22 rekao je

        Tako je 0 /

      2.    Manuel de la Fuente rekao je

        Hahahaha, uvijek ideš najkompliciranijim putem. 😀

        1.    KZKG ^ Gaara rekao je

          HAHAHA da, uvijek sam razmišljao: «Ako znam kako se to radi na teži način, onda ću to znati učiniti na jednostavan način bez problema.»I ... obrnuto ne radi isto hahaha.

  7.   Oscar rekao je

    Problem bi bio ako imamo dva procesa sa sličnim nazivom.
    Na primjer, proces kate i drugi proces ... mmm ... recimo kater xD
    Uz takvu zapovijed ubili bismo obojicu, zar ne?

    1.    KZKG ^ Gaara rekao je

      Pa da, to bi se dogodilo 🙂

  8.   truko22 rekao je

    TT jadna Kate. Koristim xkill u KDE-u, brzo se pokreće sa "ctrl + alt + esc" ili takođe sa "ctrl + Esc" otvorenim "Sistemskim aktivnostima" i to grafički. Sada se mora naučiti ovaj postupak kroz terminal, iako imam kućni poslužitelj sa stabilnim debianom i to se uopće ne ruši.

  9.   Julian rekao je

    Super! upravo sada kada pohađam tečaj za operativni sistem i trebam obavljati zadatke s terminalom, vaš vodič je bio od velike pomoći! hvala

  10.   pablo rekao je

    Vrlo dobro objašnjeno, sjajan blog koji sam upravo upoznao, usmjeravam ga među favorite. Hvala ti.

  11.   smjesta rekao je

    Pa, dobro je, mada ponekad postoje slučajevi kada ih se ne može ubiti ...

  12.   Dcoy rekao je

    pkill -9

    1.    Dcoy rekao je

      pkill -9 "naziv procesa"
      u prethodnom komentaru stavio sam «», ali nije izašlo xD

  13.   itobes rekao je

    dobro veče, imam vremena za čitanje vašeg feeda i danas sam odlučio isprobati ovu naredbu ps ax | grep hrom | grep -v grep | awk '{ispisati $ 1}' | xargs kill i naletim na sljedeću grešku ubijanja: ne mogu pronaći proces "?" s malo iskustva koje imam u bashu, odlučio sam napraviti neke izmjene i na kraju mi ​​je ostao ps -A | grep c | grep -v grep | awk '{ispisati $ 1}' | xargs kill s obzirom da se ps -A koristi za prikaz svih procesa u sažetom obliku, a druga anomalija je bila ta što je bacio TTY «?» i to mi je uspjelo hvala puno hvala stvarno volim vaš blog, pozdrav

  14.   Majkl rekao je

    Hvala kompa, ne možete zamisliti količinu problema koje ste mi upravo riješili ovom naredbom.

    Saludos !!

  15.   emalug rekao je

    HVALA !!!!

  16.   Arturo rekao je

    Odlican post. Upravo ono što sam tražio, a nisam znao kako to učiniti, a objašnjenje je bilo vrlo dobro.

    Pozdrav.