6

В настоящее время я использую системный монитор GNOME. Он похож на диспетчер задач и имеет функцию для завершения процесса, но иногда это заставляет все зависать и блокируется. Есть ли способ полностью завершить процесс с помощью командной строки быстрее?

8 ответов8

14

Вы ищете команду убить

чтобы завершить процесс "полностью", как вы просили, вы можете использовать kill следующим образом:

kill -9 PID

хотя это может иметь нежелательные последствия и может оставить временные файлы и тому подобное, вам следует сначала попытаться отправить сигнал завершения:

kill -TERM PID

где PID - это идентификатор процесса, который вы хотите уничтожить. Использование ключа -9 убьет процесс, несмотря ни на что, поэтому будьте осторожны с этим. Вы можете определить PID приложения, используя команду ps . Если процесс зависает, он, вероятно, использует немало ресурсов, поэтому вы также можете увидеть его в верхней части списка с помощью команды top . Системный монитор должен даже сказать вам PID.

Вы также можете использовать что-то вроде этого, чтобы определить PID:

ps -ax | grep program_name

номер слева должен быть PID.

11

Попробуйте xkill, есть апплет, который вы можете поместить на свою панель. Вы просто нажимаете на него, затем нажимаете на окно приложения, которое хотите убить, и оно мгновенно исчезает. Очень кстати.

7

Вы можете использовать kill, чтобы отправить желаемый сигнал идентификатору процесса. Вы можете найти идентификатор процесса с помощью pgrep и отправить сигнал названному процессу с помощью pkill. Шаблон, используемый для поиска процесса с помощью pgrep и pkill, обычно сопоставляется только с именем процесса. Укажите -f, чтобы проверить всю командную строку процесса. Начните с сигнала TERM (это значение по умолчанию, если сигнал не указан) перед использованием KILL ('9'), так как прямое завершение процесса может иметь нежелательные побочные эффекты.

Для примера, я буду использовать процесс dhclient3 в моей системе.

Старый путь, пс | Grep:

$ ps awux | grep dhclient3
root      2539  0.0  0.1   2200   220 ?        S<s  Jul28   0:00 dhclient3 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp3/dhclient.eth0.leases eth0
1000     12734  0.0  0.5   3184   732 pts/3    R+   21:58   0:00 grep dhclient3

Убить клиента:

$ kill -9 2539

С помощью pgrep/pkill:

$ pgrep dhclient
2539

С -f, чтобы указать шаблон в любом месте командной строки:

$ pgrep -f leases
2539

Завершите процесс dhclient с помощью pkill (сигнал перед шаблоном -f):

$ pkill -f dhclient3
$ pkill -9 -f dhclient3

О сигналах (со страницы man kill):

Сигнал по умолчанию для kill - TERM. Используйте -l или -L для просмотра списка доступных сигналов. Особенно полезные сигналы включают HUP, INT, KILL, STOP, CONT и 0. Альтернативные сигналы могут быть указаны тремя способами: -9 -SIGKILL -KILL. Отрицательные значения PID могут использоваться для выбора целых групп процессов; см. столбец PGID в выводе команды ps. PID -1 является особенным; он указывает на все процессы, кроме самого процесса kill и init.

1

Я обычно делаю:

ps -feax | grep "TaskNameHere"

Который возвращает PID задачи

затем

kill -9 the_process_id
1

Мне нравится использовать killall, так как он позволяет вам просматривать имена запущенных процессов, а если вы используете zsh, это даст вам хороший список запущенных процессов. Начните с первой буквы процесса, который вы хотите убить, и нажмите Tab.

killall fi

Если вы нажмете вкладку, то увидите, что у меня есть «Firefox». Повторите команду, и если она говорит, что ни один процесс не был убит, значит, вы выполнили свою задачу.

0

Я также хотел бы добавить xkill. При вызове этого из терминала (или из командной строки запуска) курсор изменится на значок черепа или скрещенных костей или значок "X". И затем в следующий раз, когда вы нажмете на окно (любое окно), это приложение будет убито.

Я обнаружил, что эта команда более интуитивно понятна и удобна для пользователя.

0

Вы хотите psdoom. Это шутер от первого лица, в котором монстры связаны с пидом. Убийство монстра отправляет SIGKILL в связанный процесс. Возможно, это не самый эффективный способ убить процесс, но он может быть самым интересным.

0

Обратите внимание, что если зависший процесс является окном, у вас есть "кнопка" для добавления на панели инструментов Gnome, чтобы завершить процесс (вы нажимаете на него, затем в соответствующем окне)

редактировать: " Force Quit " это название

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .