Nužudyk procesą su viena komanda

Daug kartų mes turime nužudyti procesą per terminalą. Jei žinome visą proceso pavadinimą (pavyzdžiui: Kate) mes neturime jokių problemų, paprasta:

killall kate

Tai mums išsprendžia problemą ... bet kas, jei mes nežinome tikslaus proceso pavadinimo?

Tomis progomis turime išvardyti visus procesus ps į kaip parodyta šioje ekrano kopijoje:


Tada ieškokite proceso PID, kurio šiuo atveju ieškome PID Kate:


Tada atlikite:

kill 3808

O voila, ten mes nužudome procesą.

Na ... vienoje eilutėje mes galime ieškoti proceso (nežinodami viso pavadinimo), sužinoti jo PID ir taip pat užmušti:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill

Kaip matai:

  1. Mes išvardijame procesus (ps į)
  2. Mes nežinome nei tikslaus, nei tikslaus vardo Kate (ei, tai gali būti kate-editor arba kažkas panašaus), todėl filtruojame tik pagal Kat (grepas kat)
  3. Bet gausime du procesus, susijusius su kat, jei naudosime tik šį filtrą, vieną, kuris yra „kate“ procesas, ir kitą, kurį aktyvuojame filtruodami, palieku jums ekrano kopiją, kad galėtumėte suprasti: (Atkreipkite dėmesį, kad yra 2 eilutės, tai yra 2 procesai)

  4. Norėdami išvengti to, kas buvo paaiškinta anksčiau, mes darome kitą filtrą (grep -v grep). Ką darysime priešingai ... jei filtruosime naudodami „grep“, tai rodys tik atitiktis su filtru, taip pat su grep -v Mes nurodome jums ne rodyti rungtynes, o parodyti tai, kas nesutampa. Parodau jums ekrano kopiją, kaip rezultatas būtų iki šiol: (Atkreipkite dėmesį, kad dabar rodomas tik kate procesas)

  5. Na, mes jau turime izoliuotą procesą, kurį norime nužudyti, dabar turime tik išgauti jo PID, kuris yra 2-asis numeris, tai yra, 4062. PID yra 2 stulpelyje (Pirmame stulpelyje yra naudotojas su UID 1), taigi naudodami awk galime pasakyti, kad iš tos eilutės jis rodo tik tai, ką randa 2-ame stulpelyje (awk '{print $ 2}'). Tai mums parodytų tik proceso numerį, tai yra, terminale pasirodys tik PID.
  6. Bet mes nenorime parodyti PID, ko mes norime - nužudyti procesą su tuo PID ... taigi mes tai padarysime, perduosime komandai tai, ką turime iki šiol nužudyti ir pasiruošęs (xargs nužudyti)
  7. Ką reiškia xargs? ... paprasta, šiuo atveju mes negalime perduoti PID žudyti tik vamzdžiais ( | ), to paprasčiausiai nepakanka, todėl xargs (tai leidžia perduoti reikšmes ar duomenis ir tada juos įvykdyti arba užmušti) leis mums baigti darbą.

Ir čia jis baigiasi 😀

Taip ... Aš žinau, kad tai atrodo šiek tiek sudėtinga, todėl bandžiau tai paaiškinti kuo geriau.

Žinau, kad šios komandos prireiks nedaugeliui, tačiau šio straipsnio tikslas yra toks pat kaip ir DesdeLinux, mokykite juos kiekvieną dieną ko nors naujo, visada stengdamiesi, kad jie prarastų baimę dėl Linux... ir, asmeniškai, aš taip pat norėčiau, kad jie išmoktų naudotis terminalu be baimės 😉

Bet kokiu atveju ... Tikiuosi, kad jums tai pasirodė įdomu, aš vis mokausi naudotis Oho kas tikrai puiku hehe.

saludos


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   ezitoc sakė

    Tiesa, „awk“ man buvo labai naudinga ir manau, kad visiems, kuriems reikia manipuliuoti struktūriniais teksto failais, labai rekomenduojama žinoti, kaip juo naudotis.

    Man tiesiog kyla klausimas (kuris neturi nieko bendra su įvestimi: D), kaip (ir su kokia programa) padarėte tą suliejimo efektą, kuris leidžia jums paryškinti dalį ekrano kopijos?

    Sveikinimai.

    1.    ezitoc sakė

      Testavimas jei tai iš formato tai veikia ir jei ne kažkas man sako, kaip tai padaryti

      Labai ačiū.

    2.    KZKG ^ Gaara sakė

      Na taip ... Aš iš naujo atradau „Linux“ dabar, kai žinau, kaip dirbti su awk HAHAHAHA.
      Apie efektą ir tokį, nieko ... tai tik Gimp 😀

      Aš parenku dalį, kurią noriu paryškinti, supjaustau klavišais [Ctrl] + [X] ir įklijuoju ją kaip naują sluoksnį, tada pasirenku apatinį sluoksnį (kurį noriu nepermatyti) ir einu į Filtrai- »Gaussian (ar dar ką parašysi hehe) ir voila.
      Norėdami suteikti tamsią efektą, aš tiesiog sukuriu naują sluoksnį (baltą foną) ir padedu jį tarp šių dviejų, kuriuos jau turėjau, aš suteikiu jam juodą spalvą ir skaidrumo juostoje (viršutiniame dešiniajame kampe) perkeliu jį ten, kur Pasiekiu norimą efektą.

      Sveikinimai ir ačiū už komentarą 🙂

      1.    Roberto Evolving Santana sakė

        Didelis !!

  2.   Manuelis de la Fuente sakė

    Jei procesas atliekamas iš matomos programos, nieko nėra patogiau nei spausdinti xkill konsolėje spustelėkite programą nužudyti ir voila.

    1.    KZKG ^ Gaara sakė

      spustelėkite programą nužudyti
      hehe taip ... tai darant prielaidą, kad turite GUI hehe.

      1.    Manuelis de la Fuente sakė

        Teisingai, todėl ir pasakiau „jei procesas vyksta iš matomos programos“.

        1.    Vindūzas sakė

          Lengviau spustelėti mygtuką su „X“. „GNOME Shell“ vis dar turi tą mygtuką? :-D.

          1.    Manuelis de la Fuente sakė

            Jei programa yra užšaldyta (o tai yra pagrindinė priežastis, kodėl jums reikės nužudyti jos procesą), logiška, kad šis mygtukas neatsakys, kad ir kiek ją paspausite.

            Manau, kad „GNOME Shell“ greitai jį pašalins, kad pamatytumėte apčiuopiamą langų uždarymo stebuklą vilkdami juos į ekrano apačią, kaip ir „Windows 8“. Nereikia nė sakyti, kad plačiaekraniuose monitoriuose tai yra fantastiškas pratimas.

          2.    Vindūzas sakė

            Aš suprantu dabar. Tokiu atveju man labiau patinka „Control“ + „Alt“ + „Esc“ (KDE).

            Nekantrauju pamatyti naujas „GNOME Shell“ peržiūras, jos yra tikras malonumas.

  3.   tinkamas sakė

    Tai daro tą patį, bet rašoma mažiau.
    Šiuo atveju aš paėmiau pavyzdį leafpad, todėl lapas rodomas grep
    ps -e | grep leaf | awk '{print $1}' | xargs kill

    saludos

  4.   Sys sakė

    Phew! Mano sūnau, pabandyk paleisti „pgrep kat“, kuris kažkam yra „pgrep“.

    Ir vykdyti „man pgrep“. Ir „žmogus pidofas“, kuris kartais gali padėti „pidofas“.

    Ir vykdyti «ps aux | grep [k] at ", kuris negrąžins jūsų pakomentuoto„ proceso, kurį aktyvuojame filtravimui ", taip išsaugodami jūsų darbą.

    Sveikinimai!

    1.    Sys sakė

      O ir „pkill“, kuris daro tai, ko ieškai. Pavyzdžiui: „pkill kat“.

    2.    KZKG ^ Gaara sakė

      O, įdomu ... aš nežinojau pgrep 🙂
      Ačiū už patarimą 😀

      1.    Sys sakė

        Ačiū tau ir tavo straipsniams.

        Beje, in https://flossblog.wordpress.com/2009/11/11/truco-del-dia-excluir-al-proceso-grep-en-la-salida-de-ps-aux/ pakomentuokite tokių komandų kaip «ps aux | grep [n] programos_pavadinimas ", jie ten paaiškina geriau nei aš.

        Sveikinimai!

        1.    KZKG ^ Gaara sakė

          Ačiū už nuorodą 😀
          Tai yra puikus dalykas, kad jis egzistuoja. DesdeLinux…nesvarbu, ar esate vartotojas, redaktorius ar administratorius, mes visi visada išmokstame naujų dalykų 🙂

          Linkėjimai ir dar kartą ačiū drauge.

  5.   drėgmė sakė

    Labai ačiū visiems už jūsų laiką ir atsidavimą, todėl verta aplankyti ir perskaityti šią svetainę kelis kartus per dieną.

    Ačiū dar kartą.

  6.   Ponas Linux. sakė

    KZKG ^ Gaara beveik visada yra tas pats, kai kalbama apie tokio tipo patarimus, yra kitas asmuo, kuris tą patį daro naudodamas paprastą komandą. Bet aš jį sveikinu, jis visada nuolat prisideda.

    1.    KZKG ^ Gaara sakė

      hehe taip ... Aš žinau, kaip padaryti X osa, ir aš ateinu čia ir dalinuosi metodu, bet tada jie dalijasi paprastesniu būdu pasiekti tą patį hahaha, bet tai mes visi laimime, tiesa? 😀

      1.    truko22 sakė

        Teisingai 0 /

      2.    Manuelis de la Fuente sakė

        Hahaha, jūs visada einate sudėtingiausiu keliu. 😀

        1.    KZKG ^ Gaara sakė

          HAHAHA taip, aš visada galvojau: «Jei moku tai padaryti sunkiu keliu, tada išmoksiu tai daryti paprastai be problemų.»Ir ... atvirkščiai, tai neveikia taip pat, hahaha.

  7.   Oskaras sakė

    Problema būtų, jei turime du panašaus pavadinimo procesus.
    Pavyzdžiui, kate procesas ir kitas procesas ... mmm ... sakykime, kater xD
    Su tokia komanda mes abu juos nužudytume, tiesa?

    1.    KZKG ^ Gaara sakė

      Na taip, taip atsitiktų 🙂

  8.   truko22 sakė

    TT vargšė Kate. Aš naudoju „xkill“ KDE, jis greitai paleidžiamas su „ctrl + alt + esc“ arba su „ctrl + Esc“ atidaryta „System Activities“ ir atliekama grafiškai. Dabar šią procedūrą per terminalą reikia išmokti, nors aš turiu namų serverį su stabiliu debianu ir tai visai neužkabina.

  9.   yulian sakė

    Puiku! Dabar, kai einu į operacinių sistemų kursą ir turiu atlikti užduotis su terminalu, jūsų pamoka buvo labai naudinga! dėkoju

  10.   Pablo sakė

    Labai gerai paaiškinta, puikus tinklaraštis, kurį ką tik sutikau, nukreipiu jį į mėgstamiausius. Ačiū.

  11.   Anon sakė

    Na, gerai, nors yra atvejų, kai jų negalima nužudyti ...

  12.   dcoy sakė

    pkill -9

    1.    dcoy sakė

      pkill -9 "proceso pavadinimas"
      ankstesniame komentare įdėjau «», bet jis neišėjo xD

  13.   pats geriausias sakė

    labanakt, turiu laiko skaityti tavo kanalą ir šiandien nusprendžiau išbandyti šią komandą ps ax | grep chromas grep -v grep | awk '{print $ 1}' | „xargs kill“ ir įvyko ši nužudymo klaida: nerandu proceso „?“ turėdamas mažai patirties turėdamas „bash“, nusprendžiau atlikti keletą pakeitimų ir galų gale man liko ps -A | grep c | grep -v grep | awk '{print $ 1}' | „xargs kill“, atsižvelgiant į tai, kad ps -A yra naudojamas rodyti visus procesus santraukos forma, o antroji anomalija buvo ta, kad ji metė TTY «?» ir tai man pasiteisino labai ačiū, man labai patinka tavo tinklaraštis, sveikinimai

  14.   michael sakė

    Ačiū drauge, tu neįsivaizduoji, kiek problemų man ką tik išsprendė ši komanda.

    Sveiki atvykę!

  15.   emalg sakė

    DĖKOJU !!!!

  16.   Arturo sakė

    Puikus postas. Tiesiog tai, ko ieškojau ir nežinojau, kaip tai padaryti, ir paaiškinimas buvo labai geras.

    Sveikinimai.