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

Часто нам нужно убить процесс через терминал. Если мы знаем полное название процесса (Например: Кейт) у нас нет проблем, простой:

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. Нам неизвестно полное или точное название Кейт (эй, это может быть Кейт-редактор или что-то в этом роде), поэтому мы фильтруем только по Kat (греп кат)
  3. Но мы получим два процесса, связанных с kat, если мы будем использовать только этот фильтр, один - это процесс kate, а другой - процесс, который мы активируем для фильтрации, я оставляю вам снимок экрана, чтобы вы могли закончить понимание: (Обратите внимание, что есть 2 строки, то есть 2 процесса)

  4. Чтобы избежать того, что было объяснено ранее, мы делаем другой фильтр (грэп -в грэп). Что мы будем делать наоборот ... если мы фильтруем с помощью grep, он будет показывать только совпадения с фильтром, а с греп -v Мы просим вас НЕ показывать совпадения, а показывать то, что не совпадает. Я показываю вам скриншот того, каким был бы результат: (Обратите внимание, что теперь отображается только процесс Кейт)

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

И вот оно заканчивается 😀

Да ... Я знаю, что это кажется немного сложным, именно поэтому я попытался объяснить это в меру своих возможностей.

Я знаю, что, возможно, эта команда понадобится немногим, но цель этой статьи та же, что и у DesdeLinux, учите их чему-то новому каждый день, всегда пытаясь заставить их перестать бояться Linux... и лично мне бы очень хотелось, чтобы они научились пользоваться терминалом без страха 😉

В любом случае ... Надеюсь, вам было интересно, я продолжаю учиться использовать AWK что действительно здорово, хе-хе.

привет


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

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

  1.   эзиток сказал

    Это правда, awk был для меня очень полезен, и я думаю, что всем, кому нужно манипулировать структурированными текстовыми файлами, настоятельно рекомендуется знать, как его использовать.

    У меня просто вопрос (который не имеет ничего общего с вводом: D), как (и с помощью какой программы) вы сделали этот эффект размытия, который позволяет выделить часть скриншота?

    Привет.

    1.    эзиток сказал

      Probando если это из формата это работает, а если нет кто-нибудь скажите мне, как это сделать

      Большое спасибо.

    2.    КЗКГ ^ Гаара сказал

      Ну да ... Я заново открыл для себя Linux, теперь, когда я знаю, как работать с awk ХАХАХАХА.
      Про эффект и все такое, ничего ... это просто GIMP 😀

      Я выделяю ту часть, которую хочу выделить, вырезаю ее с помощью [Ctrl] + [X] и вставляю как новый слой, затем выбираю нижний слой (который я хочу сделать непрозрачным) и перехожу в Фильтры- »Гауссиана (или как там написано хе-хе) и вуаля.
      Теперь, чтобы придать ему темный эффект, я просто создаю новый слой (белый фон) и помещаю его между этими двумя, которые у меня уже были, я придаю ему черный цвет и на полосе прозрачности (правый верхний угол) перемещаю его туда, где я добиваюсь желаемого эффекта. .

      Приветствую и спасибо за комментарий 🙂

      1.    Роберто Эволюция Сантана сказал

        Grande !!

  2.   Мануэль де ла Фуэнте сказал

    Если процесс исходит из видимой программы, нет ничего удобнее, чем печатать Xkill на консоли щелкните программу, которую нужно убить, и вуаля.

    1.    КЗКГ ^ Гаара сказал

      нажмите на программу, чтобы убить
      хе-хе да ... это при условии, что у вас есть графический интерфейс, хе-хе.

      1.    Мануэль де ла Фуэнте сказал

        Правильно, поэтому я сказал: «Если процесс из программы, то он виден».

        1.    Виндусико сказал

          На кнопку с «Х» проще нажать. В GNOME Shell все еще есть эта кнопка, верно? :-D.

          1.    Мануэль де ла Фуэнте сказал

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

            Я думаю, что GNOME Shell скоро удалит его, чтобы вы могли увидеть тактильное чудо закрытия окон, перетаскивая их в нижнюю часть экрана, как в Windows 8. Излишне говорить, что на широкоэкранных мониторах это фантастическое упражнение.

          2.    Виндусико сказал

            Теперь я понимаю. В этом случае я предпочитаю Control + Alt + Esc (в KDE).

            Я не могу дождаться, чтобы увидеть новые превью GNOME Shell, это настоящее удовольствие.

  3.   правильный сказал

    Это делает то же самое, но написано меньше.
    В данном случае я взял в качестве примера листовую панель, поэтому лист появляется в grep
    ps -e | grep leaf | awk '{print $1}' | xargs kill

    привет

  4.   Системный сказал

    Уф! Сынок, попробуйте запустить "pgrep kat", что для чего-то означает "pgrep".

    И выполнить «man pgrep». И "man pidof", который иногда "pidof" может вам помочь.

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

    Привет!

    1.    Системный сказал

      Да, и "pkill", который делает то, что вы ищете. Например: «пкилл кат».

    2.    КЗКГ ^ Гаара сказал

      Ой, интересно ... я не знал 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 ", они объясняют это лучше, чем я.

        Привет!

        1.    КЗКГ ^ Гаара сказал

          Спасибо за ссылку 😀
          Это самое замечательное в том, что он существует. DesdeLinux…неважно, являетесь ли вы пользователем, редактором или администратором, мы все всегда учимся чему-то новому 🙂

          Приветствую и еще раз спасибо, друг.

  5.   Косте сказал

    Большое спасибо за ваше время и преданность делу, поэтому стоит посещать и читать этот сайт несколько раз в день.

    Еще раз спасибо.

  6.   Мистер Линукс. сказал

    KZKG ^ Gaara почти всегда один и тот же, когда дело доходит до такого рода подсказок, есть другой человек, который делает то же самое с простой командой. Но я его поздравляю, он постоянно вносит свой вклад.

    1.    КЗКГ ^ Гаара сказал

      хе-хе да ... Я знаю, как делать X osa, и я прихожу сюда и делюсь методом, но потом они делятся более простым способом достижения того же, хахаха, но с этим мы все выигрываем, верно? 😀

      1.    Truko22 сказал

        Правильно 0 /

      2.    Мануэль де ла Фуэнте сказал

        Хахаха, ты всегда идешь самым сложным путем. 😀

        1.    КЗКГ ^ Гаара сказал

          ХАХАХА да, я всегда думал: «Если я знаю, как это делать сложным способом, то я научусь делать это простым способом без проблем.»И… наоборот, не работает, хахаха.

  7.   Оскар сказал

    Проблема была бы в том, если бы у нас было два процесса с одинаковым именем.
    Например, процесс Кейт и еще один процесс ... ммм ... допустим, kater xD
    С такой командой мы убьем их обоих, верно?

    1.    КЗКГ ^ Гаара сказал

      Ну да, это могло бы случиться 🙂

  8.   Truko22 сказал

    Бедная Кейт. Я использую xkill в KDE, он запускается быстро с помощью «ctrl + alt + esc» или также с помощью «ctrl + Esc», откройте «Системные действия» и сделайте это графически. Теперь эту процедуру через терминал нужно изучить, хотя у меня есть домашний сервер со стабильным debian, и он вообще не зависает.

  9.   Юлиан сказал

    Большой! прямо сейчас, когда я изучаю курс операционных систем и мне нужно выполнять задачи с терминалом, ваше руководство мне очень помогло! благодаря

  10.   Пабло сказал

    Очень хорошо объяснен, отличный блог, с которым я только что познакомился, я ставлю его в избранное Спасибо.

  11.   Скоро сказал

    Что ж, это хорошо, хотя бывают случаи, когда их нельзя убить….

  12.   Dcoy сказал

    пкилл -9

    1.    Dcoy сказал

      pkill -9 "имя процесса"
      в предыдущем комментарии поставил «» но не вышло xD

  13.   итобест сказал

    спокойной ночи, у меня есть время прочитать вашу ленту, и сегодня я решил попробовать эту команду ps ax | grep chrome | 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.   Майкл сказал

    Спасибо, compa, вы не представляете, сколько проблем вы решили за меня с помощью этой команды.

    Привет!

  15.   эмалуг сказал

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

  16.   Артур сказал

    Отличный пост. Именно то, что я искал и не знал, как это сделать, и объяснение было очень хорошим.

    Привет.