Как мне убить процессы в Ubuntu?

Как мне отключить все процессы, запущенные моей собственной учетной записью, не являющейся root?

У меня есть несколько вращающихся процессов smbd, которые я вызвал со своего компьютера с Windows, и поэтому я подключился по telnet к серверу Linux и хочу отключить эти вращающиеся процессы. У меня нет полномочий перезапускать службы или перезагружать компьютер.

Чтобы убить все процессы, на которые у вас есть разрешение, просто запустите команду

kill -15 -1 или kill -9 -1 в зависимости от желаемого поведения (используйте man kill для получения подробной информации)

Чтобы убить определенный процесс, скажем, firefox, просто запустите

pkill firefox или killall firefox в зависимости от желаемого поведения: В чем разница между 'killall' и 'pkill'?

Если вы хотите увидеть, какие процессы запущены, используйте команду

ps -ef

Если вы хотите просмотреть все процессы пользователя bob, это может помочь

pgrep -l -u bob

или

ps -ef | grep bob

Воспользуйся sudo kill <pid> или sudo killall <process-name>

Вы можете использовать

ps -ax | grep application name 

Если вы ищете firefox, введите в терминале, например ps -ax | grep firefox, он показывает идентификатор процесса соответствующего приложения. Вы можете остановить это приложение, нажав kill команда, если идентификатор процесса=1317,

kill -9 1317

Давайте попробуем что-нибудь еще:

sudo apt-get install htop 

То top команда - это традиционный способ просмотра использования ресурсов вашей системы и просмотра процессов, которые занимают большую часть системных ресурсов. Вверху отображается список процессов, в верхней части которых используется наибольшее количество процессоров.

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

Я бы использовал xkill. Войдите xkill в терминале и щелкните в окне или введите xkill и идентификатор процесса, и он будет завершен.

Узнал больше о xkill на x.org .

Чтобы попытаться уничтожить все процессы, принадлежащие пользователю username, беги:

pkill -U username

Я бы разбил вашу проблему на 2 части:

1) Как мне найти процессы, запущенные мной? Запустите это:

ps -u `whoami`

То whoami это на всякий случай, если вы не знаете имя учетной записи, которую используете, в противном случае просто введите имя учетной записи без обратных кавычек.

Здесь будут перечислены все процессы, которые могут быть удалены вашей учетной записью.

2) В ps команда отобразит номер процесса, TTY, время и CMD. Идентификатор процесса - это первый столбец. Используйте это число, чтобы завершить процесс. Будьте осторожны, убивая процесс. Вы можете что-то сломать, если убьете неправильный процесс.Чтобы завершить процесс, вы будете использовать kill команда, которая посылает СИГНАЛ процессу. Сигнал указывает на то, что процесс должен делать. Например, отправка -1 к процессу попросит его перезагрузить файл конфигурации; отправка -2 эквивалентно нажатию кнопки Control+C на этом процессе; -9 приведет к тому, что ядро откажется от процесса, не сообщив об этом процессу.

Предположим, что ps -u whoami вернули что-то вроде

  PID TTY          TIME CMD 4333 pts/1    00:00:00 fish 4335 ?        00:00:00 fishd 4816 ?        00:00:00 intellij 4868 ?        00:50:42 java 4939 ?        00:00:19 fsnotifier64 7667 ?        02:49:08 firefox 7698 ?        00:00:00 unity-webapps-s

И ты хотел убить этого firefox процесс по его идентификатору процесса, тогда вы бы сделали:

kill -1 7667

Затем вы бы повторно запустили то же самое ps выполните команду и проверьте, был ли процесс все еще запущен. Если он все еще работает, то выполните

kill -2 7667

прокладывая свой путь к -9.

Чтобы завершить все процессы, запущенные вашей учетной записью, введите kill <level> -1. То же, что и раньше: прокладывайте себе путь к -9.

Если вы знаете название процесса, вы можете просто перейти killall <processname>, где находится то, что вы пытаетесь убить. Например: killall fish (рыба, в этом смысле, является Дружественной интерактивной оболочкой).

Документация для killall можно найти здесь: http://manpages.ubuntu.com/manpages/hardy/man1/killall.1.html

С помощью этого приложения вы можете просматривать списки программ

установите htop

sudo apt-get install htop

для просмотра процесса и завершения процесса Вы можете установить его и просто удалить

enter image description here

...Все процессы в Linux реагируют на сигналы. Сигналы - это способ на уровне операционной системы сообщить программам о завершении или изменении их поведения.

Как Отправлять сигналы процессам с помощью PID

Наиболее распространенный способ передачи сигналов в программу - это команда kill.

Как и следовало ожидать, функциональность этой утилиты по умолчанию заключается в попытке завершить процесс:

kill PID_of_target_process

Это посылает процессу сигнал TERM. Сигнал ТЕРМИНА сообщает процессу, пожалуйста, о завершении. Это позволяет программе выполнять операции очистки и плавно завершать работу.

Если программа ведет себя неправильно и не завершается при задании термина signal, мы можем усилить сигнал, передав сигнал KILL:

kill -KILL PID_of_target_process

Это специальный сигнал, который не отправляется в программу.

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

Я написал небольшой скрипт, который я написал, чтобы убить (в моем случае) Skype:

kill -s 9 `ps aux | grep skype | head -n 1 | cut -f4 -d" "`

Но я обнаружил, что, как бы это ни работало тогда, на следующий день это не сработало, потому что pid был другой длины и там количество пробелов было другим

Потом я наткнулся на этот сайт и попробовал

pgrep -l -u justin

который удобно выводит процессы в формате

[pid] [name]

Поэтому я скорректировал свой код в скрипте таким образом:

kill -s 9 `pgrep -l -u justin | grep skype | cut -f1 -d" "`

Что это делает, так это запускает все процессы justin выполняется (которое может быть изменено на любое имя пользователя) для grep который ищет skype (это может быть изменено в вашем процессе), а затем передает эту строку в cut который затем считывает только PID и, наконец, использует этот PID в kill прикажите убить его.