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

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

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

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

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

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

  • PID : уникальный идентификатор процесса, определенный системой. Это значение, которое мы используем для остановки процесса.
  • TTY : терминал, с которого был запущен процесс.
  • ВРЕМЯ : обще>Использование команды «ps»ни, используемого процессом.
  • CMD : команда, генерирующая процесс
Команда вывода 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. Список процессов с дополнительной информацией

Дополнительную информацию можно получить, перечисли>1. Список процессов всех пользователейпользовать опцию 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  0 21:34 ?        00:00:00 [kthreadd]
root          3      2  0 21:34 ? >2. Список процессов с дополнительной информациейan>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. Фильтровать процесс по идентификатору процесса

Если вы знаете идентификатор запущенного процесса, который хотите отобразить, вы можете отфильтровать его с помощью флага -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:

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

и его вывод:

PID TTY      STAT   TIME COMMAND
1 ?        Ss     0:02 /sbin/init maybe-ubiquity
2 ?        S      0:00 [kthreadd]
3<>4. Список процессов, принадлежащих пользователюn>kworker/0:0]
4 ?        I<     0:00 [kworker/0:0H]
6 ?        I<     0:00 [mm_percpu_wq]
7 ?        S      0:00 [ksoftirqd/0]
5. Перечислить активные процессыользователями

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

ps -aux

и его вывод:

USER        PID %CPU %MEM    VSZ   RSS 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  0.0  0.0      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   0:00 [rcu_bh]
root         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. См. полный список 7. Фильтровать процесс по названию программыдартные параметры отображения для ps">стандартные параметры отображения для ps .

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

ps -e --forest

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

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

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

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

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

ps -f -U r>8. Отображение определенных столбцов>Используйте Ps в корневых процессах Linux 2

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

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

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

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

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

>11. Показать все корневые процессы>Используйте команду kill, чтобы остановить процесс
ПОХОЖИЕ СТАТЬИ

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