ГлавнаяОперационные системыLinuxКак использовать команду ps в Linux для завершения процесса

Как использовать команду ps в Linux для завершения процесса

Во время работы ваши программы иногда внезапно зависают. В других случаях программы все еще работают, но с высоким потреблением процессора или памяти. В Linux это можно исправить с помощью команды ps(P process S tatus). Здесь мы покажем вам, как использовать команду psв Linux для получения списка запущенных в данный момент процессов и их PID. Затем вы сможете найти и завершить процессы, потребляющие ваши ресурсы.

Читайте также: Руководство для начинающих по команде pstree в Linux

Использование команды «ps»

Команду psможно использовать отдельно. Он выведет четыре столбца информации:

Команда вывода Ps 1

Обратите внимание: когда вы используете команду без каких-либо опций, она не отображает много информации. Вот несколько способов сделать его более полезным.

1. Список процессов всех пользователей

При установке некоторых программ они иногда также создают дополнительных пользователей для запуска процесса. Чтобы просмотреть процессы пользователей, используйте параметр -e:

ps -e

и его вывод:

PID TTY          TIME CMD
1 ?        00:00:02 systemd
2 ?        00:00:00 kthreadd
3 ?        00:00:00 kworker/0:0
4 ?        00:00:00 kworker/0:0H
5 ?        00:00:00 kworker/u256:0
6 ?        00:00:00 mm_percpu_wq

2. Список процессов с дополнительной информацией

Дополнительную информацию можно получить, перечислив запущенный процесс. Для этого вы можете использовать опцию ef.

ps -ef

и его вывод:

UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 21:34 ?        00:00:03 /sbin/init maybe-ubiquity
root          2      0  1. Список процессов всех пользователей     00:00:00 [kthreadd]
root          3      2  0 21:34 ?        00:00:00 [kworker/0:0]
root          4      2  0 21:34 ?        00:00:00 [kworker/0:0H]
root          6      2  0 21:34 ?        00:00:00 [mm_percpu_wq]
root          7      2  0 21:34 ?        00:00:00 [ksoftirqd/0]

3. Фильтровать процесс по идентификатору процесса

Если вы знаете

2. Список процессов с дополнительной информацией

зить, вы можете отфильтровать его с помощью флага -p. В качестве аргументов может использоваться несколько PID, разделенных одной запятой и без пробела.

ps -ef -p 1234,5678,9012

4. Список процессов, принадлежащих пользователю

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

ps -u userName

<

и его вывод:

PID TTY          TIME CMD
2832 ?        00:00:00 systemd
2842 ?        00:00:00 (sd-pam)
3043 ?        00:00:00 sshd
3044 pts/1    00:00:00 bash
18396 pts/1    00:00:00 ps

5. Перечислить активные процессы

Можно вывести список всех активных процессов, используя параметр ax:

ps -ax

и его вывод:

PID TTY      STAT   TIME COMMAND
1 ?        Ss     0:02 /sbin/init maybe-ubiquity
2 ?        S      0:00 [kthreadd]
3 ?        I      0:00 [kworker/0:03. Фильтровать процесс по идентификатору процессаn>     0:00 [kworker/0:0H]
6 ?        I<     0:00 [mm_percpu_wq]
7 ?        S      0:00 [ksoftirqd/0]

6. Список активных процессов с пользователями

Если вы добавите флаг -aux, можно вывести список всех активных процессов с пользователями:

ps -aux

и его вывод:

USER     

4. Список процессов, принадлежащих пользователю

TTY STAT START TIME COMMAND root 1 0.0 0.2 78132 9188 ? Ss 21:34 0:02 /sbin/init maybe-ubiquity root 2 0.0 0.0 0 0 ? S 21:34 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I 21:34 0:00 [kworker/0:0] root 4<

5. Перечислить активные процессы

> 0 0 ? I< 21:34 0:00 [kworker/0:0H] root 6 0.0 0.0 0 0 ? I< 21:34 0:00 [mm_percpu_wq] root 7 0.0 0.0 0 0 ? S 21:34 0:00 [ksoftirqd/0] root 8 0.0 0.0 0 0 ? I 21:34 0:00 [rcu_sched] root 9 0.0 0.0 0 0 ? I 21:34 06. Список активных процессов с пользователямиspan>10 0.0 0.0 0 0 ? S 21:34 0:00 [migration/0]

7. Фильтровать процесс по названию программы

Можно получить информацию о конкретной запущенной программе, применив фильтр к результату ps:

ps -aux | grep docker

и его вывод:

root       1508  0.0  2.2 1518156 90868 ?       Ssl  21:34   0:03 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
userkub+  18429  0.0  0.0  13144  1108 pts/1    S+   23:57   0:00 grep --color=auto docker

Кроме того, вы также можете использовать параметр C, чтобы отфильтровать процесс по его имени:

ps -C name
Используйте Ps в Linux C флаг

8. Отображение определенных столбцов

В дополнение к четырем столбцам по умолчанию вы можете получить psдля отображения дополнительного столбца с информацией. Например:

ps -e -o pid,uname,pcpu,pmem,comm
Используйте Ps в Linux с флагом O

Флаг -oустанавливает определенные параметры отображения результатов команды ps. См. полный список стандартные параметры отображения для ps .

9. Отображение результатов в стиле иерархического дерева

ps -e --forest

При этом используются символы ASCII для создания древовидной структуры для отображения процессов. Показывает разветвленные и дочерние процессы как потомков соответствующих родительских процессов с сортировко

7. Фильтровать процесс по названию программы

уйте -Hвместо --forest.

10. Отображение потоков процесса

ps -p 4041 -L
Использовать Ps в Linux L Threads Флаг

Флаг -Lвключает потоковое отображение любых функций ps. Это наиболее полезно при отслеживании потоков определенного процесса.

11. Показать все корневые процессы

ps -f -U root -u root
Используйте Ps в корневых процессах Linux 2

Выполните поиск всех процессов, запущенных с реальными и эффективными корневыми идентификаторами. Они отображаются в полном формате благодаря флагу -f. Вы можете объединить его с флагом -oдля настройки вывода.

Используйте команду kill, чтобы остановить процесс

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

8. Отображение определенных столбцов

висли, в большинстве случаев вам придется принудительно завершить их с помощью параметра -9.

Команда уничтожения вывода 1

Вывод команды ps — мгновенное представление. В отличие от 9, он не обновляется динамически. Это означает, что вам, возможно, придется запустить его несколько раз, чтобы получить четкое представление о том, какой процесс ведет себя неправильно. Чтобы получить актуальное представление о процессах, вы можете попробовать несколько другие команды для системы Linux.

9. Отображение результатов в стиле иерархического дерева

10. Отображение потоков процесса

11. Показать все корневые процессы

Используйте команду kill, чтобы остановить процесс

ПОХОЖИЕ СТАТЬИ

Популярные записи