Завершить все процессы пользователя linux

unixforum.org

убить все процессы пользователя (типа slay)

убить все процессы пользователя

Сообщение VadimD » 20.07.2005 15:23

Может глупый вопрос, но все-же, как убить все процессы пользователя одной командой?
Был у меня скриптик — назывался slay, он справлялся с задачей — но я его где-то затер случайно.
Придумывать и писать новый лениво.
Может есть аналоги или чего нибудь для самоубийства, типа killuser $USER ?

Re: убить все процессы пользователя

Сообщение flook » 20.07.2005 15:51

Re: убить все процессы пользователя

Сообщение VadimD » 20.07.2005 16:54

Re: убить все процессы пользователя

Сообщение Lemurian » 21.07.2005 12:56

StraNNicK Бывший модератор Сообщения: 1005 Статус: добрый хиппи Контактная информация:

Re: убить все процессы пользователя

Сообщение StraNNicK » 21.07.2005 12:59

Re: убить все процессы пользователя

Сообщение T04ka » 21.07.2005 13:05

(Lemurian @ Четверг, 21 Июля 2005, 16:56) писал(а): а еще есть ALT + SysRq + K — гасит все процессы в текущей консоли

Функция Magic SysRq должна быть включена в ядро при компиляции.
Можно нажать Alt-PrintScreen-s для записи кеша дисков или Alt-PrintScreen-i — убить все процессы за исключением init. Механизм нажатия такой: — нажать Alt — нажать PrintScreen — отпустить Alt — Нажать нужную кнопку — отпустить все.

Re: убить все процессы пользователя

Сообщение flook » 21.07.2005 13:11

(Morda @ Четверг, 21 Июля 2005, 12:05) писал(а): [Механизм нажатия такой: — нажать Alt — нажать PrintScreen — отпустить Alt — Нажать нужную кнопку — отпустить все.

Это только на глючных терминалах и на полуглючных при использовании правого Alt-а Заявляю как краевед.

Источник

How to Kill all Processes for a User in Linux

There is nothing more frustrating than logging into your Linux system only to have many processes slowing down your machine. Although Linux is very good at process management, you may need to terminate some processes manually.

In this tutorial, we shall discuss how to find and kill processes from a specific user. We will use tools such as pkill and killall.

NOTE: Ensure you have access to an administrative account or the root account because regular users can only kill their processes, not processes belonging to other users. On the other hand, the root user can kill all processes.

Читайте также:  Linux определить тип памяти

Understanding System Signals

To kill a specific process, the command sends a signal to the process. By default, kill commands such as killall send a TERM signal that gracefully stops the specified process.

Before we proceed to kill command, let us take a brief overview of the process signals.

The common types of kill signals include:

  • SIGHUP – This signal reloads a process. It has an integer value of 1.
  • SIGINT – Interrupt from the keyboard such as CTRL + C. It has an integer value of 2.
  • SIGKILL – Kill a process. It has an integer value of 9.
  • SIGTERM – This is a termination signal, which, as stated, gracefully stops a process. It has an integer value of 15.
  • SIGSTOP – Stops a process. It has an integer value of either 17, 19, or 23.

NOTE: When terminating processes, it is good to start with the least aggressive signal, such as TERM. Using a signal such as TERM will allow the program to shut down correctly and use the set measures when the program receives the TERM signal.

A KILL signal can also be helpful, especially if a process has encountered an error, fails to exit or does not respond to the INT signal.

To view all the available signals, use a command such as a kill -l

Method #1 – The Killall Command

The first command you can use to kill Linux processes is the killall command. For this, you need the PID value or the name of the process you wish to terminate.

You can use a tool such as pgrep to get the PID of a specific process.

Once you have the PID value of the process, you can terminate using the kill command as:

The command above will send a graceful termination signal.

To send a KILL signal, use the -9 integer as:

How to kill all user processes with killall

Killall command allows you to terminate all the processes owned by a specific user. To do this, use the -u flag.

For example, to terminate all processes spawned by the ubuntu user.

CAUTION: Depending on the user specified in the command, terminating the processes can cause the system to crash or stop critical system processes. Therefore, before applying this command, ensure the user in question is not running processes you do not wish to terminate.

Method #2: The Pkill Command

Another great tool you can use to terminate Linux processes is the pkill command. This command works similarly to killall.

For example, to terminate the bash process with pkill, use the command:

To kill all processes owned by the ubuntu user, we can use the command:

Читайте также:  Ubuntu rocks!

Conclusion

In this guide, we quickly discussed ways to terminate processes in Linux and various types of kill signals. As seen, killing a single process or multiple processes owned by a specific Linux user is easy.

About the author

John Otieno

My name is John and am a fellow geek like you. I am passionate about all things computers from Hardware, Operating systems to Programming. My dream is to share my knowledge with the world and help out fellow geeks. Follow my content by subscribing to LinuxHint mailing list

Источник

Завершить все процессы пользователя linux

В этой статье мы расскажем о том, как убить все процессы пользователя запущенные в Линукс.

Как мы знаем, Linux — многопользовательская ОС, поэтому с каждым пользователем могут быть связаны его собственные процессы. Такое разделение существует в целях безопасности. Запуская ту или иную программу от имени непривилегированного пользователя, ОС снижает риски несанкционированного проникновения и риски повреждения системных файлов.

Как завершить все процессы пользователя?

Для начала сформируем перечень всех процессов всех пользователей. В терминале Linux выполним следующую команду:

Как видно на скриншоте, имеются процессы, связанные с тремя пользователями (root, mint1 и mint). Допустим, нам срочно понадобилось завершить все процессы пользователя mint1.

Здесь следует немного подробнее остановиться на самом понятии процесса в Linux. Процесс – программа, запущенная в виртуальном адресном пространстве. Каждый процесс имеет свой уникальный номер или идентификатор — PID (Process Identificator). Работая с процессами, операционная система идентифицирует процессы именно по PID.

Для того, чтобы убить ненужные процессы, достаточно убить все PID процессов конкретного пользователя (в данном случае mint1). Для этого можно просто скопировать номера идентификаторов этого пользователя и ввести следующую команду:

Однако, количество PID может быть куда больше двух. Да и выполнить все действия вообще-то тоже можно с помощью одной команды, умещающейся в одну строку.

Например, используем конвейер и программу grep ( символ | обозначает передачу результатов выполнения первой команды второй команде по конвейеру):

С помощью grep были выбраны все процессы пользователя mint1. Далее необходимо из второй колонки слева выбрать все PID. Сделаем это с помощью программы awk, добавив, соответственно, ещё один конвейер:

Теперь нужно убить полученные значения PID. Опять добавим конвейер (в данном и последующих примерах все команды выполняются от имени суперпользователя root) и выполним группу команд:

$ ps au | grep -e ‘^mint1’ | awk » | xargs kill -9

С помощью такой конвейеризованной группы команд мы завершили все процессы пользователя mint1.

Подобный конвейер можно было бы сформировать и так:

$ ps aux | awk ‘/^mint1/ ‘ | xargs kill -9

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

Однако и это ещё не всё. Нужно ещё проверить наличие процессов, связанных с пользователем mint1, и их состояние. Сделаем это с помощью команды:

Читайте также:  Диагностика сетевого подключения linux

Как видите, процессы, связанные с пользователем mint1, отсутствуют. Способов убить все процессы пользователя в Linux достаточно много, мы показали лишь некоторые из них.

Источник

Как убить все процессы пользователя в Linux

Как мы знаем, Linux — многопользовательская ОС, поэтому с каждым пользователем могут быть связаны его собственные процессы. Такое разделение существует в целях безопасности. Запуская ту или иную программу от имени непривилегированного пользователя, ОС снижает риски несанкционированного проникновения и риски повреждения системных файлов.

В этой статье мы расскажем о том, как завершить все запущенные процессы конкретного пользователя.

Как завершить все процессы пользователя?

Для начала сформируем перечень всех процессов всех пользователей. В терминале Linux выполним следующую команду:

Как видно на скриншоте, имеются процессы, связанные с тремя пользователями (root, mint1 и mint). Допустим, нам срочно понадобилось завершить все процессы пользователя mint1.

Здесь следует немного подробнее остановиться на самом понятии процесса в Linux. Процесс – программа, запущенная в виртуальном адресном пространстве. Каждый процесс имеет свой уникальный номер или идентификатор — PID (Process Identificator). Работая с процессами, операционная система идентифицирует процессы именно по PID.

Для того, чтобы убить ненужные процессы, достаточно убить все PID процессов конкретного пользователя (в данном случае mint1). Для этого можно просто скопировать номера идентификаторов этого пользователя и ввести следующую команду:

Однако, количество PID может быть куда больше двух. Да и выполнить все действия вообще-то тоже можно с помощью одной команды, умещающейся в одну строку.

Например, используем конвейер и программу grep ( символ | обозначает передачу результатов выполнения первой команды второй команде по конвейеру):

С помощью grep были выбраны все процессы пользователя mint1. Далее необходимо из второй колонки слева выбрать все PID. Сделаем это с помощью программы awk, добавив, соответственно, ещё один конвейер:

Теперь нужно убить полученные значения PID. Опять добавим конвейер (в данном и последующих примерах все команды выполняются от имени суперпользователя root) и выполним группу команд:

ps au | grep -e ‘^mint1’ | awk » | xargs kill -9

С помощью такой конвейеризованной группы команд мы завершили все процессы пользователя mint1.

Подобный конвейер можно было бы сформировать и так:

ps aux | awk ‘/^mint1/ ‘ | xargs kill -9

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

Однако и это ещё не всё. Нужно ещё проверить наличие процессов, связанных с пользователем mint1, и их состояние. Сделаем это с помощью команды:

Как видите, процессы, связанные с пользователем mint1, отсутствуют. Способов убить все процессы пользователя в Linux достаточно много, мы показали лишь некоторые из них.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector