Zabijte proces jediným příkazem

Mnohokrát musíme zabít proces prostřednictvím terminálu. Pokud známe celý název procesu (např. Kate) nemáme žádné problémy, jednoduchý:

killall kate

Vyřeší to problém za nás ... ale co se stane, když neznáme přesný název procesu?

Při těchto příležitostech musíme uvést seznam všech procesů s ps aux jak je znázorněno na následujícím snímku obrazovky:


Pak hledejte PID procesu, který v tomto případě hledáme PID Kate:


Do té doby proveďte:

kill 3808

A voila, tam proces zabijeme.

No ... v jednom řádku můžeme vyhledat proces (aniž bychom museli znát celé jméno), zjistit jeho PID a také ho zabít:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill

Jak můžete vidět:

  1. Uvádíme procesy (ps aux)
  2. Neznáme celé nebo přesné jméno Kate (hej, může to být editor kate nebo něco podobného), takže filtrujeme pouze podle kat (grep kat)
  3. Ale dostaneme dva procesy související s kat, pokud použijeme pouze tento filtr, jeden, který je procesem Kate, a druhý, který je procesem, který aktivujeme pro filtrování, nechám vám snímek obrazovky, abyste mohli dokončit porozumění: (Všimněte si, že existují 2 řádky, tj. 2 procesy)

  4. Abychom se vyhnuli tomu, co bylo vysvětleno dříve, vytvoříme další filtr (grep -v grep). Co uděláme opačně ... pokud filtrujeme pomocí grep, zobrazí se pouze shody s filtrem, dobře s grep -v Poučujeme vás, abyste NEZobrazovali shody, ale abyste ukázali, co se neshoduje. Ukážu vám snímek obrazovky, jaký by byl zatím výsledek: (Všimněte si, že nyní se objeví pouze Katein proces)

  5. Již jsme izolovali proces, který chceme zabít, nyní musíme pouze extrahovat jeho PID, což je druhé číslo, tj. 4062. A PID je ve 2. sloupci (1. sloupec obsahuje uživatele s UID 1000), takže pomocí awk můžeme říci, že z tohoto řádku ukazuje pouze to, co najde ve 2. sloupci (awk '{print $ 2}'). Což by nám ukázalo pouze číslo procesu, to znamená, že v terminálu se objeví pouze PID.
  6. Ale nechceme ukázat PID, to, co chceme, je zabít proces s tímto PID ... takže to uděláme, předáme to, co zatím máme, směrem k příkazu zabít a připraven (xargs zabít)
  7. Co to znamená xargs? ... jednoduché, v tomto případě nemůžeme předat PID, aby zabíjel pouze pomocí rour ( | ), to prostě nestačí, takže xargs (který umožňuje předat hodnoty nebo data a poté je spustit nebo zabít) je to, co nám umožní dokončit práci.

A tady to končí 😀

Ano ... vím, že to vypadá trochu složitě, a právě proto jsem se to snažil vysvětlit nejlépe, jak jsem mohl.

Vím, že tento příkaz bude možná potřebovat málokdo, ale cíl tohoto článku je stejný jako cíl DesdeLinux, naučte je každý den něco nového, vždy se snažte, aby ztratili strach z Linuxu... a osobně bych byl také rád, kdyby se naučili terminál beze strachu používat 😉

Každopádně ... doufám, že vás to zajímalo, stále se učím používat Awk což je opravdu skvělé, hehe.

pozdravy


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   ezitoc řekl

    Je pravda, že awk pro mě byl velmi užitečný a myslím si, že každému, kdo potřebuje manipulovat se strukturovanými textovými soubory, se důrazně doporučuje vědět, jak jej používat.

    Mám jen otázku (která nemá nic společného se vstupem: D), jak (a s jakým programem) jste provedli ten efekt rozostření, který vám umožní zvýraznit část obrazovky?

    Zdravím.

    1.    ezitoc řekl

      Testování pokud je to z formátu funguje to a pokud ne někdo mi řekne, jak to udělat

      Děkuju mnohokrát.

    2.    KZKG ^ Gaara řekl

      No ano ... nově jsem objevil Linux, když vím, jak pracovat s awk HAHAHAHA.
      O efektu a tak, nic ... je to jen Gimp 😀

      Vyberu část, kterou chci zvýraznit, oříznu ji pomocí [Ctrl] + [X] a vložím ji jako novou vrstvu, poté vyberu spodní vrstvu (což je ta, kterou chci neprůhlednou) a přejít na Filtry- » Gaussian (nebo cokoli píšete hehe) a voila.
      Nyní, abych mu dal tmavý efekt, jednoduše vytvořím novou vrstvu (bílé pozadí) a umístím ji mezi tyto dvě, které jsem již měl, dám jí černou barvu a v pruhu průhlednosti (pravý horní roh) ji přesunu na místo Dosahuji požadovaného efektu.

      Zdravím a děkuji za komentář 🙂

      1.    Roberto Vyvíjející se Santana řekl

        Velký!!

  2.   Manuál Zdroje řekl

    Pokud je proces z viditelného programu, není nic pohodlnějšího než psaní xkill na konzole klikněte na program, který chcete zabít, a voila.

    1.    KZKG ^ Gaara řekl

      klikněte na program, který chcete zabít
      hehe jo ... to je za předpokladu, že máte GUI hehe.

      1.    Manuál Zdroje řekl

        To je pravda, proto jsem řekl „pokud je proces z viditelného programu“.

        1.    Windousianské řekl

          Je snazší kliknout na tlačítko s „X“. GNOME Shell má toto tlačítko stále správně? :-D.

          1.    Manuál Zdroje řekl

            Pokud je program zmrazený (což je hlavní důvod, proč byste museli zabít jeho proces), je logické, že toto tlačítko nebude reagovat bez ohledu na to, jak moc ho stisknete.

            Myslím, že GNOME Shell to brzy odstraní, takže můžete vidět hmatatelný zázrak zavírání oken jejich přetažením na spodní část obrazovky jako ve Windows 8. Není třeba říkat, že na širokoúhlých monitorech je to fantastické cvičení.

          2.    Windousianské řekl

            Už chápu. V tom případě dávám přednost Control + Alt + Esc (v KDE).

            Nemůžu se dočkat, až uvidím nové náhledy prostředí GNOME, jsou opravdovou lahůdkou.

  3.   řádný řekl

    To dělá totéž, ale méně je napsáno.
    V tomto případě jsem jako příklad vzal listovou desku, proto se list objeví v grep
    ps -e | grep leaf | awk '{print $1}' | xargs kill

    pozdravy

  4.   Sys řekl

    Uf! Můj synu, zkuste spustit „pgrep kat“, což je pro něco „pgrep“.

    A provést „man pgrep“. A „man pidof“, který vám někdy může „pidof“ pomoci.

    A spustit «ps aux | grep [k] at ", který nevrátí" proces, který aktivujeme pro filtrování ", který komentujete, což vám ušetří práci.

    Zdravím!

    1.    Sys řekl

      Oh, a „pkill“, který dělá to, co hledáte. Například: „pkill kat“.

    2.    KZKG ^ Gaara řekl

      Zajímavé ... Neznal jsem pgrep 🙂
      Díky za tip 😀

      1.    Sys řekl

        Díky vám a vašim článkům.

        Mimochodem, v https://flossblog.wordpress.com/2009/11/11/truco-del-dia-excluir-al-proceso-grep-en-la-salida-de-ps-aux/ komentovat techniku ​​používání příkazů jako «ps aux | grep [n] program_name ", vysvětlují to tam lépe než já.

        Zdravím!

        1.    KZKG ^ Gaara řekl

          Díky za odkaz 😀
          To je skvělé na tom, že existuje. DesdeLinux…je jedno, jestli jste uživatel, editor nebo admin, všichni se stále učíme nové věci 🙂

          Zdravím a ještě jednou děkuji příteli.

  5.   náklady řekl

    Všem moc děkuji za váš čas a obětavost, stojí za to navštívit a číst tyto stránky několikrát denně.

    Ještě jednou děkuji.

  6.   Pane Linuxu. řekl

    KZKG ^ Gaara je téměř vždy stejný, pokud jde o tento druh tipů, existuje další osoba, která dělá totéž jednoduchým příkazem. Ale blahopřeji mu, vždy přispívá.

    1.    KZKG ^ Gaara řekl

      hehe jo ... vím, jak udělat X osa a já sem přijdu a sdílíme tu metodu, ale pak sdílejí jednodušší způsob, jak dosáhnout stejné věci hahaha, ale s tím všichni vyhráváme, že? 😀

      1.    truko22 řekl

        Správně 0 /

      2.    Manuál Zdroje řekl

        Hahahaha, vždy jdeš tou nejsložitější cestou. 😀

        1.    KZKG ^ Gaara řekl

          HAHAHA ano, vždy jsem si myslel: «Pokud vím, jak to udělat obtížným způsobem, pak budu vědět, jak se to naučit dělat jednoduchým způsobem bez problémů.»A ... naopak nefunguje stejně hahaha.

  7.   Oskar řekl

    Problém by byl, kdybychom měli dva procesy s podobným názvem.
    Například proces kate a další proces ... mmm ... řekněme kater xD
    S takovým povelem bychom oba zabili, že?

    1.    KZKG ^ Gaara řekl

      No jo, to by se stalo 🙂

  8.   truko22 řekl

    TT chudá Kate. V KDE používám xkill, který se rychle spouští s "ctrl + alt + esc" nebo také s "ctrl + Esc" otevírá "systémové aktivity" a dělá to graficky. Nyní se tento postup přes terminál musí naučit, i když mám domácí server se stabilním debianem a ten vůbec nepadá.

  9.   Julian řekl

    Skvělý! právě teď, když se účastním kurzu operačních systémů a potřebuji provádět úkoly s terminálem, byl váš výukový program velkou pomocí! dík

  10.   pablo řekl

    Velmi dobře vysvětleno, skvělý blog, který jsem právě potkal, poukazuji na oblíbené. Děkuji.

  11.   Brzo řekl

    No, je to dobré, i když existují chvíle, kdy nemohou být zabiti….

  12.   dcoy řekl

    pkill -9

    1.    dcoy řekl

      pkill -9 "název procesu"
      v předchozím komentáři jsem vložil «», ale nevyšlo to xD

  13.   nejhezčí řekl

    dobrý večer, mám čas číst váš feed a dnes jsem se rozhodl vyzkoušet tento příkaz ps ax | grep chrom | grep -v grep | awk '{print $ 1}' | xargs kill a narazím na následující chybu kill: nemůžu najít proces "?" s malými zkušenostmi, které mám v bash, jsem se rozhodl udělat nějaké úpravy a nakonec mi zbývá ps -A | grep c | grep -v grep | awk '{print $ 1}' | xargs kill vzhledem k tomu, že ps -A se používá k souhrnnému zobrazení všech procesů a druhou anomálií bylo, že to hodilo TTY «?» a fungovalo to pro mě moc děkuji moc se mi líbí váš blog, pozdravy

  14.   Michal řekl

    Díky compa, nedokážeš si představit množství problémů, které jsi pro mě právě tímto příkazem vyřešil.

    Zdravím !!

  15.   e-mailem řekl

    DÍK !!!!

  16.   Arthur řekl

    Výborný příspěvek. Přesně to, co jsem hledal a nevěděl, jak to udělat, a vysvětlení bylo velmi dobré.

    Zdravím.