Nogaliniet procesu ar vienu komandu

Daudzas reizes mums ir jānogalina process, izmantojot termināli. Ja mēs zinām pilnu procesa nosaukumu (piemēram: Keita) mums nav problēmu, vienkārši:

killall kate

Tas mums atrisina problēmu ... bet kas notiek, ja mēs nezinām precīzu procesa nosaukumu?

Šajos gadījumos mums ir jāuzskaita visi procesi ar ps aux kā parādīts šajā ekrānuzņēmumā:


Pēc tam meklējiet procesa PID, kuru šajā gadījumā mēs meklējam Keita:


Līdz tam veiciet:

kill 3808

Un voila, tur mēs nogalinām procesu.

Nu ... vienā rindā mēs varam meklēt procesu (bez nepieciešamības zināt tā pilnu nosaukumu), uzzināt tā PID un arī nogalināt:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill

Kā jūs redzat:

  1. Mēs uzskaitām procesus (ps aux)
  2. Mēs nezinām pilnu vai precīzu lietotāja vārdu Keita (hei, tas varētu būt kate-editor vai kaut kas tamlīdzīgs), tāpēc mēs filtrējam tikai pēc kat (grep kat)
  3. Bet mēs iegūsim divus procesus, kas saistīti ar kat, ja izmantosim tikai šo filtru, vienu, kas ir kate process, un otru, kas ir process, kuru mēs aktivizējam filtrēšanai, es jums atstāju ekrānuzņēmumu, lai jūs varētu pabeigt izpratni: (Ievērojiet, ka ir 2 rindas, tas ir, 2 procesi)

  4. Lai izvairītos no iepriekš paskaidrotā, mēs izveidojam citu filtru (grep -v grep). Ko mēs darīsim pretēji ... ja filtrēsim, izmantojot grep, tas parādīs tikai spēles ar filtru, labi ar grep -v Mēs uzdodam jums nevis parādīt spēles, bet gan parādīt to, kas neatbilst. Es jums parādīšu ekrānuzņēmumu par to, kā rezultāts būtu līdz šim: (Ievērojiet, ka tagad parādās tikai keita process)

  5. Nu, process, kuru mēs vēlamies nogalināt, mums jau ir izolēts, tagad mums ir jāizņem tikai tā PID, kas ir 2. numurs, tas ir, 4062. Un PID atrodas 2. slejā (1. kolonnā ir lietotājs ar UID 1000), tāpēc, izmantojot awk, mēs varam teikt, ka no šīs rindas tas parāda tikai to, ko tas atrod 2. slejā (awk '{print $ 2}'). Kas mums parādītu tikai procesa numuru, tas ir, terminālā parādīsies tikai PID.
  6. Bet mēs nevēlamies parādīt PID, ko mēs vēlamies, ir nogalināt procesu ar šo PID ... tāpēc mēs to darīsim, mēs nodosim komandai to, kas mums ir līdz šim nogalināt un gatavs (xargs nogalina)
  7. Ko tas xargs nozīmē? ... vienkārši, šajā gadījumā mēs nevaram nodot PID, lai nogalinātu tikai ar caurulēm ( | ), ar to vienkārši nepietiek, tāpēc xargs (kas ļauj nodot vērtības vai datus un pēc tam tos izpildīt vai nogalināt) ļaus mums pabeigt darbu.

Un šeit tas beidzas 😀

Jā ... es zinu, ka tas šķiet mazliet sarežģīti, tieši tāpēc esmu mēģinājis to izskaidrot pēc iespējas labāk.

Es zinu, ka šī komanda, iespējams, būs nepieciešama dažiem, taču šī raksta mērķis ir tāds pats kā šim rakstam DesdeLinux, iemācīt viņiem katru dienu kaut ko jaunu, vienmēr cenšoties panākt, lai viņi zaudētu bailes no Linux... un, personīgi, es arī vēlētos, lai viņi iemācītos bez bailēm lietot termināli 😉

Jebkurā gadījumā ... Es ceru, ka jums tas likās interesanti, es turpinu mācīties, kā to izmantot awk kas tiešām ir lieliski hehe.

Sveicieni


34 komentāri, atstājiet savus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   ezitoc teica

    Tiesa, awk man ir bijis ļoti noderīgs, un es domāju, ka ikvienam, kam nepieciešams manipulēt ar strukturētiem teksta failiem, ir ļoti ieteicams zināt, kā to izmantot.

    Man vienkārši ir jautājums (nekas nav saistīts ar ievadi: D), kā (un ar kādu programmu) jūs izveidojāt šo izplūduma efektu, kas ļauj jums izcelt daļu ekrānuzņēmuma?

    Sveicieni.

    1.    ezitoc teica

      Probando ja tas no formāta tas darbojas un ja nē kāds man saka, kā to izdarīt

      Liels paldies.

    2.    KZKG ^ Gaara teica

      Nu jā ... Esmu no jauna atklājis Linux tagad, kad zinu, kā strādāt ar awk HAHAHAHA.
      Par efektu un tā, nekas ... tas ir tikai Gimp 😀

      Es atlasu daļu, kuru vēlos izcelt, sagriež ar taustiņu [Ctrl] + [X] un ielīmē to kā jaunu slāni, pēc tam izvēlos apakšējo slāni (kuru es gribu necaurspīdīgi mainīt) un dodos uz sadaļu Filtri- » Gaussian (vai ko vien tu raksti hehe) un voila.
      Lai piešķirtu tam tumšo efektu, es vienkārši izveidoju jaunu slāni (baltu fonu) un ievietoju to starp šiem diviem, kas man jau bija, es piešķiru tam melnu krāsu un caurspīdīguma joslā (augšējā labajā stūrī) es pārvietoju to uz vietu Es sasniedzu vēlamo efektu.

      Sveiciens un paldies par komentāru 🙂

      1.    Roberto Evolving Santana teica

        Liels !!

  2.   Manuels de la Fuente teica

    Ja process notiek no redzamas programmas, nekas ērtāks par rakstīšanu xkill konsolē noklikšķiniet uz programmas nogalināt un voila.

    1.    KZKG ^ Gaara teica

      noklikšķiniet uz programmas, lai nogalinātu
      hehe jā ... tas ir pieņemot, ka jums ir GUI hehe.

      1.    Manuels de la Fuente teica

        Pareizi, tāpēc es teicu "ja process notiek no redzamas programmas".

        1.    Vindūziko teica

          Vieglāk ir noklikšķināt uz pogas ar "X". GNOME Shell joprojām ir šī poga, vai ne? :-D.

          1.    Manuels de la Fuente teica

            Ja programma ir iesaldēta (kas ir galvenais iemesls, kāpēc jums vajadzētu nogalināt tās procesu), ir loģiski, ka šī poga nereaģēs neatkarīgi no tā, cik daudz jūs to nospiežat.

            Es domāju, ka GNOME Shell to drīz noņems, lai jūs varētu redzēt taustāmo brīnumu aizvērt logus, velkot tos ekrāna apakšdaļā tāpat kā operētājsistēmā Windows 8. Lieki piebilst, ka platekrāna monitoros tas ir fantastisks vingrinājums.

          2.    Vindūziko teica

            ES saprotu, tagad. Tādā gadījumā es dodu priekšroku Control + Alt + Esc (KDE).

            Es nevaru vien sagaidīt, kad redzēšu jaunos GNOME Shell priekšskatījumus, tie ir īsts baudījums.

  3.   pienācīgs teica

    Tas dara to pašu, bet tiek rakstīts mazāk.
    Šajā gadījumā es izmantoju lapu kā piemēru, tāpēc lapa parādās grep
    ps -e | grep leaf | awk '{print $1}' | xargs kill

    Sveicieni

  4.   Sys teica

    Phew! Mans dēls, mēģini palaist "pgrep kat", kas kaut kam ir "pgrep".

    Un izpildīt "man pgrep". Un "cilvēks pidofs", kas dažreiz var palīdzēt "pidof".

    Un izpildīt «ps aux | grep [k] at ", kas neatgriezīsies kā jūsu komentētais process" process, kuru mēs aktivizējam filtrēšanai ", tādējādi ietaupot jūsu darbu.

    Apsveikumi!

    1.    Sys teica

      Ak, un "pkill", kas dara to, ko jūs meklējat. Piemēram: "pkill kat".

    2.    KZKG ^ Gaara teica

      Ak, interesanti ... es nezināju pgrep 🙂
      Paldies par padomu 😀

      1.    Sys teica

        Paldies jums un jūsu rakstiem.

        Starp citu, iekšā https://flossblog.wordpress.com/2009/11/11/truco-del-dia-excluir-al-proceso-grep-en-la-salida-de-ps-aux/ komentēt tādu komandu izmantošanu kā «ps aux | grep [n] programmas_nosaukums ", viņi to tur izskaidro labāk nekā es.

        Apsveikumi!

        1.    KZKG ^ Gaara teica

          Paldies par saiti 😀
          Tas ir lieliskais, ka tas pastāv. DesdeLinux…nav svarīgi, vai esat lietotājs, redaktors vai administrators, mēs visi vienmēr mācāmies jaunas lietas 🙂

          Sveiciens un paldies vēlreiz draugs.

  5.   mitrums teica

    Liels paldies visiem par veltīto laiku un atdevi, tāpēc ir vērts šo vietni apmeklēt un lasīt vairākas reizes dienā.

    Vēlreiz paldies.

  6.   Linux kungs. teica

    KZKG ^ Gaara gandrīz vienmēr ir viens un tas pats, runājot par šāda veida padomiem, ir vēl viena persona, kas to pašu dara ar vienkāršu komandu. Bet es viņu apsveicu, viņš vienmēr nepārtraukti sniedz ieguldījumu.

    1.    KZKG ^ Gaara teica

      hehe yep ... Es zinu, kā to izdarīt X osa, un es eju šeit un dalos ar metodi, bet tad viņiem ir kopīgs veids, kā panākt to pašu, hahaha, bet ar to mēs visi uzvaram, vai ne? 😀

      1.    truko22 teica

        Pareizi 0 /

      2.    Manuels de la Fuente teica

        Hahaha, jūs vienmēr ejat vissarežģītāko ceļu. 😀

        1.    KZKG ^ Gaara teica

          HAHAHA jā, es vienmēr esmu domājis: «Ja es zinu, kā to izdarīt grūtajā veidā, tad zināšu, kā iemācīties to izdarīt vienkāršā veidā bez problēmām.»Un otrādi, tas nedarbojas vienādi hahaha.

  7.   oscar teica

    Problēma būtu, ja mums būtu divi procesi ar līdzīgu nosaukumu.
    Piemēram, kate process un vēl viens ... mmm ... pieņemsim, ka kater xD
    Ar šādu komandu mēs viņus abus nogalinātu, vai ne?

    1.    KZKG ^ Gaara teica

      Nu jā, tas notiktu 🙂

  8.   truko22 teica

    TT nabaga Keita. Es izmantoju xkill KDE, tas tiek palaists ātri ar "ctrl + alt + esc" vai arī ar "ctrl + Esc" atvērtu "System Activities" un dariet to grafiski. Tagad šī procedūra, izmantojot termināli, ir jāapgūst, lai gan man ir mājas serveris ar stabilu debianu, un tas vispār nav karājas.

  9.   Yulian teica

    Lieliski! tieši tagad, kad es apmeklēju operētājsistēmu kursu un man ir jāveic uzdevumi ar termināli, jūsu apmācība bija lieliska palīdzība! Paldies

  10.   Pablo teica

    Ļoti labi izskaidrots, lielisks tikko sastaptais emuārs, es to novēlu izlasē. Paldies.

  11.   Tūliņ teica

    Nu, tas ir labi, lai gan ir gadījumi, kad viņus nevar nogalināt ...

  12.   dcoy teica

    pkill -9

    1.    dcoy teica

      pkill -9 "procesa nosaukums"
      iepriekšējā komentārā ieliku «», bet tas neiznāca xD

  13.   vislabvēlīgāk teica

    labvakar, man ir laiks lasīt jūsu plūsmu, un šodien es nolēmu izmēģināt šo komandu ps ax | grep chrome | grep -v grep | awk '{print $ 1}' | xargs kill, un es saņemu šādu kill kļūdu: Nevar atrast procesu "?" ar mazo pieredzi, kas man ir bashā, es nolēmu veikt dažas modifikācijas un beigās man paliek ps -A | grep c | grep -v grep | awk '{print $ 1}' | xargs kill, ņemot vērā, ka ps -A tiek izmantots, lai parādītu visus procesus kopsavilkuma formā, un otrā anomālija bija tā, ka tas meta TTY «?» un tas man noderēja, liels paldies, man ļoti patīk tavs emuārs, apsveikumi

  14.   Michael teica

    Paldies kompai, jūs nevarat iedomāties problēmu daudzumu, kuru jūs man vienkārši atrisinājāt ar šo komandu.

    Sveicieni!

  15.   emalugs teica

    PALDIES !!!!

  16.   Arturo teica

    Izcils amats. Tikai tas, ko es meklēju un nezināju, kā to izdarīt, un skaidrojums bija ļoti labs.

    Sveicieni.