Ubijte postupak jednom naredbom

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

killall kate

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

U tim prilikama moramo navesti sve procese s ps pomoćni 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 da moramo znati puno ime), saznati njegov PID i također ga ubiti:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill

Kao što vidiš:

  1. Navodimo procese (ps pomoćni)
  2. Ne znamo puni ili tačan naziv 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 proces kate, a drugi koji je postupak 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 filtar (grep -v grep). Ono što ćemo učiniti suprotno ... ako filtriramo pomoću grep, on će prikazati samo podudaranja s filtrom, dobro sa grep -v Nalažemo vam da NE pokazujete utakmice, već da pokazujete ono što se ne podudara. Pokazujem vam snimak zaslona kako bi bio rezultat do sada: (Primijetite da se sada pojavljuje samo Katein postupak)

  5. Pa, već smo izolirali postupak koji želimo ubiti, sada moramo samo izvući njegov PID koji je drugi broj, tj. 4062. A PID je u 2. stupcu (Prvi stupac sadrži korisnika s UID 1), pa koristeći awk možemo reći da iz tog retka pokazuje samo ono što nalazi u 2. stupcu (awk '{ispis $ 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 ubiti postupak s tim PID-om ... pa ćemo to učiniti, prosljeđujemo ono što imamo do sada naredbi ubiti i spreman (xargs ubiti)
  7. Što znači taj xargs? ... jednostavno, u ovom slučaju ne možemo proći PID za ubijanje samo cijevima ( | ), to jednostavno nije dovoljno, pa xargs (koji omogućuje prosljeđivanje vrijednosti ili podataka, a zatim izvršavanje ili ubijanje) je ono što će nam omogućiti da završimo posao.

I ovdje završava 😀

Da ... znam da se ovo čini pomalo složenim, upravo zato sam to pokušao objasniti najbolje što sam mogao.

Znam da će malo tko trebati ovu naredbu, ali cilj ovog članka je isti kao i cilj DesdeLinux, naučite ih svaki dan nečemu novom, uvijek ih pokušavajući natjerati da izgube strah od Linuxa... a osobno bih također volio da 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.

pozdravi


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   ezitoc dijo

    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 s ulazom: D), kako (i s kojim programom) ste napravili taj efekt zamućenja koji vam omogućuje da istaknete dio snimke zaslona?

    Pozdrav.

    1.    ezitoc dijo

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

      Puno hvala.

    2.    KZKG ^ Gaara dijo

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

      Odaberem dio koji želim istaknuti, izrežem ga s [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 dijo

        Velik!!

  2.   Priručnik o izvoru dijo

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

    1.    KZKG ^ Gaara dijo

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

      1.    Priručnik o izvoru dijo

        Točno, zato sam i rekao "ako je postupak iz programa koji je vidljiv".

        1.    Windousian dijo

          Lakše je kliknuti na gumb s "X". GNOME Shell još uvijek ima taj gumb, zar ne? :-D.

          1.    Priručnik o izvoru dijo

            Ako je program zamrznut (što je glavni razlog zašto biste trebali ubiti njegov postupak) logično je da ovaj gumb 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čeći ih na dno zaslona kao u sustavu Windows 8. Nepotrebno je reći da je na širokim zaslonima to fantastična vježba.

          2.    Windousian dijo

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

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

  3.   odgovarajuće dijo

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

    pozdravi

  4.   Sys dijo

    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" postupak koji aktiviramo za filtriranje "koji kao rezultat komentirate, čime štedite svoj rad.

    Pozdrav!

    1.    Sys dijo

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

    2.    KZKG ^ Gaara dijo

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

      1.    Sys dijo

        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/ komentirati tehniku ​​korištenja naredbi poput «ps aux | grep [n] program_name ", oni to objašnjavaju bolje od mene.

        Pozdrav!

        1.    KZKG ^ Gaara dijo

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

          Pozdrav i hvala još jednom prijatelju.

  5.   trošak dijo

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

    Hvala još jednom.

  6.   Gospodine Linux. dijo

    KZKG ^ Gaara je gotovo uvijek isti, kad je riječ o ovakvim savjetima, postoji još jedna osoba koja to čini jednostavnom naredbom. Ali čestitam mu, uvijek kontinuirano doprinosi.

    1.    KZKG ^ Gaara dijo

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

      1.    truko22 dijo

        Tako je 0 /

      2.    Priručnik o izvoru dijo

        Hahaha, uvijek ideš najkompliciranijim putem. 😀

        1.    KZKG ^ Gaara dijo

          HAHAHA da, uvijek sam mislio: «Ako znam kako to učiniti na teži način, onda ću naučiti to raditi na jednostavan način bez problema.»I ... obrnuto, ne radi isto hahaha.

  7.   Oscar dijo

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

    1.    KZKG ^ Gaara dijo

      Pa da, to bi se dogodilo 🙂

  8.   truko22 dijo

    TT jadna Kate. Koristim xkill u KDE-u, brzo se pokreće s "ctrl + alt + esc" ili također s "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 uopće ne visi.

  9.   Yulian dijo

    Sjajno! upravo sada kada pohađam tečaj o operacijskim sustavima i trebam izvršavati zadatke s terminalom, vaš vodič je bio od velike pomoći! Hvala

  10.   Pablo dijo

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

  11.   Smjesta dijo

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

  12.   dcoy dijo

    pkill -9

    1.    dcoy dijo

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

  13.   itobes dijo

    laku noć, imam vremena čitati vaš feed i danas sam odlučio isprobati ovu naredbu ps ax | grep krom | grep -v grep | awk '{ispis $ 1}' | xargs kill i dobivam sljedeću pogrešku ubijanja: ne mogu pronaći proces "?" s malo iskustva koje imam u bashu, odlučio sam napraviti neke preinake i na kraju mi ​​ostaje ps -A | grep c | grep -v grep | awk '{ispis $ 1}' | xargs kill jer se ps -A koristi za sažimanje svih procesa, a druga je anomalija bila ta što mi je bacio TTY «?» i to mi je uspjelo hvala puno hvala jako volim vaš blog, pozdrav

  14.   Michael dijo

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

    Pozdrav!

  15.   email dijo

    HVALA !!!!

  16.   Arturo dijo

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

    Pozdrav.