Как мне убить все процессы, запущенные моей собственной учетной записью без полномочий root?
У меня есть несколько вращающихся процессов smbd, которые я вызвал на своей машине с Windows, и поэтому я подключился к серверу Linux и отключился от сети. эти процессы вращения. У меня нет прав для перезапуска служб или перезагрузки компьютера.
Давайте попробуем кое-что еще:
sudo apt-get install htop
Команда top
- это традиционный способ просмотра использования ресурсов вашей системы и просмотра процессов, которые занимают большинство системных ресурсов. Вверху отображается список процессов, причем те, которые используют наибольшее количество процессоров, находятся вверху.
htop
отображает ту же информацию в более легкой для понимания компоновке. Он также позволяет выбирать процессы с помощью клавиш со стрелками и выполнять действия, такие как их уничтожение или изменение их приоритета, с помощью клавиш F kbd>.
Вы можете использовать
ps -ax | grep application name
Если вы ищете тип firefox в терминале, например ps -ax | grep firefox
, он показывает идентификатор процесса соответствующего приложения. Вы можете остановить это приложение командой kill
, если идентификатор процесса = 1317,
kill -9 1317
Используйте sudo kill <pid>
или sudo killall <process-name>
Я бы использовал xkill
. Введите xkill
в терминале и нажмите в окне или введите xkill
и идентификатор процесса, и он будет прерван.
Узнайте больше о xkill
на x.org.
Чтобы уничтожить все процессы, на которые у вас есть разрешение, просто запустите команду
kill -15 -1
или kill -9 -1
в зависимости от желаемого поведения (для подробностей используйте man kill
)
pkill firefox
или killall firefox
в зависимости от желаемого поведения: В чем разница между killall и pkill? 118]
Если вы хотите увидеть, какие процессы запущены, используйте команду
ps -ef
Если вы хотите просмотреть все процессы по пользователю bob, это может помочь
pgrep -l -u bob
или
ps -ef | grep bob
С помощью этого приложения вы можете просматривать списки программ
установить htop
sudo apt-get install htop
для просмотра процесса и процесса уничтожения. Вы можете установить его и просто удалить
Я использовал следующую процедуру для уничтожения процесса в Ubuntu::
Шаг 1: Получите pid процесса при помощи grep, или можно использовать-C также::
ps aux | -C 'filename'
или
ps -ef | -C 'filename'
или
ps aux | grep 'filename'
или
ps -ef | grep 'filename'
Шаг 2: Отметьте изодромное с предварением число.
Шаг 3: Используйте 'уничтожают' команду alongwith изодромное с предварением число как:
kill pidnumber
Чтобы попытаться уничтожить все процессы, принадлежащие пользователю username
, выполните:
pkill -U username
... Все процессы в Linux реагируют на сигналы. Сигналы - это способ, позволяющий осознать программы, чтобы они прекратили или изменили свое поведение.
Как отправлять сигналы процессов по PID
Наиболее распространенный способ передачи сигналов в программу - команда kill.
Как и следовало ожидать, функциональностью по умолчанию этой утилиты является попытка завершить процесс:
kill PID_of_target_process
Это отправляет сигнал TERM процессу. Сигнал TERM сообщает процессу прекратить. Это позволяет программе выполнять операции очистки и плавно завершать работу.
Если программа работает некорректно и не завершает работу при получении сигнала TERM, мы можем увеличить сигнал, передав сигнал KILL:
kill -KILL PID_of_target_process
Это специальный сигнал, который не отправляется программе .
Вместо этого оно передается ядру операционной системы, которое завершает процесс. Это используется для обхода программ, которые игнорируют отправленные им сигналы ...
Я бы разбил вашу проблему на 2 части:
1) Как мне найти процессы, запущенные мной? Запустите это:
ps -u `whoami`
whoami
на всякий случай, если вы не знаете имя учетной записи, которую вы используете, в противном случае просто введите имя учетной записи без обратных кавычек.
В этом списке перечислены все процессы, которые могут быть удалены вашей учетной записью.
2) Команда ps
перечислит номер процесса, TTY, Time и 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
Я написал небольшой сценарий, который написал, чтобы убить (в моем случае) Skype:
kill -s 9 `ps aux | grep skype | head -n 1 | cut -f4 -d" "`
Но я обнаружил, что столько, сколько это работало тогда, оно не сработало на следующий день, потому что pid была разной длины и там для количества пробелов было другое
Затем я наткнулся на этот сайт и попробовал
pgrep -l -u justin
, который удобно выводит процессы в формате
[pid] [name]
[ 1113] Итак, я изменил свой код в скрипте так:
kill -s 9 `pgrep -l -u justin | grep skype | cut -f1 -d" "`
Для этого выполняется передача всех процессов, запущенных justin
(которые можно изменить на любое имя пользователя), на grep
который ищет skype
(это можно изменить в вашем процессе), а затем передает эту строку на cut
, который затем читает только PID и, наконец, использует этот PID в команде kill
для его уничтожения.
Вот простой скрипт на python, который я написал, killProcess.py, который будет принимать что-либо в качестве ввода и уничтожать его.
Я написал этот скрипт, потому что у меня есть много процессов на Python или нодах, которые я хочу уничтожить индивидуально и программно. Я не могу использовать «killall python», потому что он остановит процессы, которые мне нужны для продолжения работы.
Пожалуйста, назовите файл «killProcess.py», затем добавьте имя скрипта, который вы хотите остановить. Например: python killProcess.py runnablePoller.py уничтожит файл runnablePoller.py
import os;
import sys;
for arg in sys.argv:
if(arg!="killProcess.py"):
process=arg;
print(process);
processes =os.popen("ps -ef | grep "+process).read();
processes=processes.split("\n");
processes=processes[0].split(" ");
#print(processes);
for p in processes:
try:
pid=int(p);
print(pid);
break;
except:
continue;
os.system("kill "+str(pid));
Ctrl kbd> + Alt kbd> + Delete kbd> может быть установлен, чтобы дать вам доступ к диспетчеру задач, откуда легко убить процессы с помощью пара щелчков, и для меня меньше требований для запоминания команд, которые могут быть повреждены, если они сделаны неправильно:
http://ubuntuhandbook.org/index.php/2013/07/use-ctrl-alt -del-task-manager-ubuntu /