Убийте процес с една команда

Много пъти трябва да убием процес чрез терминал. Ако знаем пълното име на процеса (например: Кейт) нямаме проблеми, просто:

killall kate

Той решава проблема за нас ... но какво се случва, ако не знаем точното име на процеса?

В тези случаи трябва да изброим всички процеси с ps aux както е показано на следната екранна снимка:


След това потърсете PID на процеса, който в този случай търсим PID на Кейт:


Дотогава направете:

kill 3808

И вуаля, там убиваме процеса.

Ами ... в един ред можем да търсим процеса (без да е необходимо да знаем пълното му име), да открием неговия PID и също да го убием:
ps ax | grep kat | grep -v grep | awk '{print $2}' | xargs kill

Както виждаш:

  1. Ние изброяваме процесите (ps aux)
  2. Не знаем пълното или точното име на Кейт (хей, може да е kate-editor или нещо подобно), така че филтрираме само по кът (grep кат)
  3. Но ще получим два процеса, свързани с kat, ако използваме само този филтър, един който е процесът на kate, и друг, който е процесът, който активираме за филтриране, оставям ви екранна снимка, за да можете да завършите разбирането: (Забележете, че има 2 реда, тоест 2 процеса)

  4. За да избегнем обяснението преди, правим друг филтър (grep -v grep). Какво ще направим обратното ... ако филтрираме с помощта на grep, той ще покаже съвпаденията само с филтъра, добре с grep -v Препоръчваме ви да НЕ показвате мачовете, а да показвате това, което не съвпада. Показвам ви екранната снимка как би бил резултатът досега: (Забележете, че сега се появява само процесът на Кейт)

  5. Е, вече сме изолирали процеса, който искаме да убием, сега трябва само да извлечем неговия PID, който е второто число, т.е. 4062. И PID е във 2-ра колона (1-ва колона съдържа потребител с UID 1000), така че използвайки awk можем да кажем, че той показва само от този ред това, което намира във 2-ра колона (awk '{print $ 2}'). Което ще ни покаже само номера на процеса, тоест само PID ще се появи в терминала.
  6. Но ние не искаме да показваме PID, това, което искаме, е да убием процеса с този PID ... така че ще го направим, ще предадем това, което имаме досега, на командата убие и готов (xargs убиват)
  7. Какво означава това xargs? ... просто, в този случай не можем да предадем PID, за да убием само с тръби ( | ), това просто не е достатъчно, така че xargs (което позволява да се предават стойности или данни и след това да се изпълняват или убиват) е това, което ще ни позволи да завършим работата.

И тук свършва 😀

Да ... Знам, че това изглежда малко сложно, точно затова се опитах да го обясня по най-добрия начин.

Sé que posiblemente a pocos les hará falta este comando, pero el objetivo de este artículo es el mismo que el de DesdeLinux, enseñarles algo nuevo cada día, intentando siempre que pierdan el miedo o temor a Linux… y, personalmente me encantaría también que aprendan a usar sin temor la terminal 😉

Както и да е ... Надявам се, че ви е било интересно, продължавам да се уча как да използвам AWK което е наистина страхотно хехе.

поздрави


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   езиток каза той

    Вярно е, awk ми беше много полезен и мисля, че на всеки, който трябва да манипулира структурирани текстови файлове, е силно препоръчително да знае как да го използва.

    Просто имам въпрос (нищо общо с входа: D), как (и с каква програма) направихте този ефект на размазване, който ви позволява да маркирате част от екранната снимка?

    Поздрави.

    1.    езиток каза той

      Тестване ако това от формата работи и ако не някой да ми каже как да го направя

      Благодаря Ви много.

    2.    KZKG ^ Гаара каза той

      Ами да ... Преоткрих Linux сега, когато знам как да работя с awk HAHAHAHA.
      Относно ефекта и подобни, нищо ... това е просто Gimp 😀

      Избирам частта, която искам да откроя, изрязвам я с [Ctrl] + [X] и я поставям като нов слой, след което избирам долния слой (който е този, който искам да непрозрачен) и отивам на Filters- »Gaussian (или каквото и да пишете хехе) и вуаля.
      Сега, за да му придам тъмния ефект, просто създавам нов слой (бял фон) и го поставям между тези два, които вече имах, давам му черен цвят и в лентата за прозрачност (горния десен ъгъл) го премествам там, където постигам желания ефект .

      Поздрави и благодаря за коментара 🙂

      1.    Роберто Еволюираща Сантана каза той

        Голям !!

  2.   Мануел де ла Фуенте каза той

    Ако процесът е от програма, която е видима, нищо по-удобно от писането xkill на конзолата щракнете върху програмата за убиване и voila.

    1.    KZKG ^ Гаара каза той

      кликнете върху програмата, за да убиете
      хе-хе да ... това се предполага, че имате GUI хе-хе.

      1.    Мануел де ла Фуенте каза той

        Точно така, затова казах „ако процесът е от програма, която е видима“.

        1.    Windousian каза той

          По-лесно е да кликнете върху бутона с "X". GNOME Shell все още има този бутон, нали? :-Д.

          1.    Мануел де ла Фуенте каза той

            Ако програмата е замразена (което е основната причина, поради която би трябвало да убиете нейния процес), логично е този бутон да не реагира, колкото и да го натискате.

            Мисля, че GNOME Shell ще го премахне скоро, за да можете да видите тактилното чудо на затварянето на прозорци, като ги плъзнете в долната част на екрана като в Windows 8. Излишно е да казвам, че на широкоекранните монитори това е фантастично упражнение.

          2.    Windousian каза той

            Сега разбирам. В този случай предпочитам Control + Alt + Esc (в KDE).

            Нямам търпение да видя новите визуализации на GNOME Shell, те са истинско удоволствие.

  3.   надлежен каза той

    Това прави същото, но се пише по-малко.
    В този случай взех лист за пример, затова листът се появява в grep
    ps -e | grep leaf | awk '{print $1}' | xargs kill

    поздрави

  4.   Сис каза той

    Фу! Сине мой, опитайте да стартирате "pgrep kat", което е "pgrep" за нещо.

    И да изпълни "man pgrep". И „човек пидоф“, който понякога „пидоф“ може да ви помогне.

    И да изпълни «ps aux | grep [k] at ", който няма да върне" процеса, който активираме за филтрирането ", който коментирате, което ви спестява работата.

    ¡Saludos!

    1.    Сис каза той

      О, и "pkill", което прави това, което търсите. Например: "pkill kat".

    2.    KZKG ^ Гаара каза той

      О, интересно ... Не знаех pgrep 🙂
      Благодаря за съвета 😀

      1.    Сис каза той

        Благодарение на вас и вашите статии.

        Между другото, в https://flossblog.wordpress.com/2009/11/11/truco-del-dia-excluir-al-proceso-grep-en-la-salida-de-ps-aux/ коментирайте техниката на използване на команди като «ps aux | grep [n] program_name ", там го обясняват по-добре от мен.

        ¡Saludos!

        1.    KZKG ^ Гаара каза той

          Благодаря за връзката 😀
          Eso es lo genial de que exista DesdeLinux… que no importa si eres usuario, redactor o admin, siempre todos aprendemos cosas nuevas 🙂

          Поздрави и благодаря отново приятелю.

  5.   косте каза той

    Благодаря ви много за отделеното време и отдаденост, заслужава си да посетите и прочетете този сайт по няколко пъти на ден.

    Благодаря отново.

  6.   Г-н Linux. каза той

    KZKG ^ Gaara е почти винаги еднакъв, що се отнася до тези видове съвети, има друг човек, който прави същото с проста команда. Но аз го поздравявам, той винаги допринася непрекъснато.

    1.    KZKG ^ Гаара каза той

      хе-хе ... знам как се прави X osa и идвам тук и споделям метода, но след това те споделят по-прост начин да постигнат едно и също нещо хахаха, но с това всички печелим, нали? 😀

      1.    truko22 каза той

        Така е 0 /

      2.    Мануел де ла Фуенте каза той

        Хахаха, винаги вървиш по най-сложния път. 😀

        1.    KZKG ^ Гаара каза той

          HAHAHA да, винаги съм мислил: «Ако знам как да го направя по трудния начин, тогава ще знам как да се науча да го правя по лесния начин без проблеми.»И ... обратно, не работи по същия начин хахаха.

  7.   "Оскар" каза той

    Проблемът би бил, ако имаме два процеса с подобно име.
    Например процес на кейт и друг процес на ... mmm ... да речем kater xD
    С такава команда бихме убили и двамата, нали?

    1.    KZKG ^ Гаара каза той

      Ами да, това ще се случи 🙂

  8.   truko22 каза той

    TT горката Кейт. Използвам xkill в KDE, той се стартира бързо с "ctrl + alt + esc" или също с "ctrl + Esc" отворен "Системни дейности" и го правя графично. Сега тази процедура през терминала трябва да се научи, въпреки че имам домашен сървър със стабилен debian и това изобщо не виси.

  9.   Юлиан каза той

    Страхотен! точно сега, когато уча курса по операционни системи и трябва да изпълнявам задачи с терминала, вашият урок беше от голяма помощ! Благодаря

  10.   Пабло каза той

    Много добре обяснено, страхотен блог, който току-що срещнах, насочвам го към любими. Благодаря ти.

  11.   Веднага каза той

    Е, добре е, въпреки че има моменти, когато не могат да бъдат убити ....

  12.   Дкой каза той

    pkill -9

    1.    Дкой каза той

      pkill -9 "име на процеса"
      в предишния коментар сложих «», но не излезе xD

  13.   най -доброто каза той

    добра вечер, имам време да чета вашата емисия и днес реших да пробвам тази команда ps ax | grep хром | grep -v grep | awk '{print $ 1}' | xargs kill и се сблъсквам със следната грешка при убиване: не мога да намеря процес "?" с малкото опит, който имам в bash, реших да направя някои модификации и накрая останах с ps -A | grep c | grep -v grep | awk '{print $ 1}' | xargs kill, като се има предвид, че ps -A се използва за обобщено показване на всички процеси и втората аномалия е, че е хвърлила TTY «?» и това работи за мен, благодаря ви много, наистина харесвам вашия блог, поздрави

  14.   Майкъл каза той

    Благодаря компа, не можете да си представите количеството проблеми, които току-що решихте за мен с тази команда.

    Поздрави!

  15.   емалуг каза той

    БЛАГОДАРЯ !!!!

  16.   Arturo каза той

    Отличен пост. Точно това, което търсех и не знаех как да го направя, и обяснението беше много добро.

    Поздрави.