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


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

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


130
2018-02-16 23:49


происхождения




ответы:


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

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

157
2018-02-16 23:58



Я бы начал с kill -15 -1, и только перейти к kill -9 -1 если есть упрямые процессы и Я знаю, что я делаю, Случайно убивающие процессы, которые могут находиться в середине транзакции базы данных, не являются чем-то, что нужно делать так небрежно, как вы предлагаете. - Simon Richter
Кроме того, процесс Firefox называется firefox-bin, - Simon Richter
Нет, вы можете попробовать запустить killall firefox а также killall firefox-bin и посмотреть, что работает. Я согласен с вашим первым комментарием. - ste_kwr
Спасибо @ste_kwr, работал с вашими инструкциями, после двух дней работы ... - Java.beginner
Преимущество в том, что PID не требуется, - это задания cron. Использование имен работает чисто. - SDsolar


использование sudo kill <pid> или sudo killall <process-name>


47
2018-02-16 23:50



Я не думаю, что это имеет отношение к этому вопросу, вы используете sudo - OP не имеет таких привилегий, как упоминалось в вопросе. - pl1nk
У ОП нет привилегий, отредактируйте свой ответ или он может быть удален или преобразован в комментарий как «не ответ». - ish
Если у него нет привилегий, ему просто нужно убить <pid> или killall <имя процесса>, я просто использовал его в моей учетной записи не root, я бы не смог этого сделать, если бы не этот ответ , - Shailyn Ortiz


Попробуем еще кое-что:

sudo apt-get install htop 

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

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


19
2018-01-12 04:41



Очень полезно. благодаря - W.Dodge


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

ps -ax | grep application name 

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

kill -9 1317

14
2017-07-22 06:21





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

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


12
2017-12-27 21:36



Используйте его второй по частоте после того, как он понравится. +1 - Sergiy Kolodyazhnyy
xkill не работает в этом случае ... - PythoNic
@PythoNic, в каком случае это? - Alvar
Он хочет убить не-оконный процесс, который также не связан с X-сервером, как мне кажется ... (Во всяком случае, хороший инструмент.) - PythoNic


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

pkill -U username

7
2018-02-07 02:30





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

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

ps -u `whoami`

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

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

2) ps команда отобразит номер процесса, TTY, время и CMD. Идентификатор процесса - это первый столбец. Используйте этот номер, чтобы убить процесс. Будьте осторожны, убивая процесс. Вы можете сломать что-то, если вы убьете неправильный процесс. Чтобы убить процесс, вы будете использовать kill команда, которая отправляет SIGNAL в этот процесс. Сигнал указывает, какой процесс должен делать. Например, отправка -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


5
2018-05-04 23:37





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

Как отправлять процессы Сигналы по PID

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

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

kill PID_of_target_process

Это посылает сигнал TERM процессу. Сигнал TERM сообщает о завершении процесса. Это позволяет программе выполнить операции очистки и выйти плавно.

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

kill -KILL PID_of_target_process

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

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


2
2018-05-03 00:00





Я написал небольшой сценарий, который я написал, чтобы убить (в моем случае). 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 чтобы убить его.


2
2017-12-27 21:10



Вы могли бы сбросить -l, и побежал pgrep -u justin skype, и убить: pkill -u justin skype (или pkill -KILL -u justin skype для отправки SIGKILL). - muru
Это, безусловно, Unix Way. Хорошо сделал вас обоих. Я буду использовать этот. - SDsolar


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

установить htop

sudo apt-get install htop

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

enter image description here


2
2018-05-27 12:21