====== Процессы ====== ===== Утилита strace ===== Позволяет выполнить трассировку системных вызовов.\\ ===== Утилита ps ===== Утилита для просмотра списка процессов.\\ -p - фильтр по PID (так же есть вариации p -p -q ppid) -aux - обычный вариант -eo - форматирование вывода ps -p 123 ps -p `cat proc.pid` ps -p `cat proc.pid` -eo "%p" ps aux | grep -E 'app1|app2'
:!: Доп Каждый процесс в системе может быть в одном из нескольких состояний:\\ **Запуск** - работает либо готов к работе; **Ожидание** - ожидают какого либо события или ресурсов; **Остановлено** - остановлены с помощью сигнала; **Зомби ** - уже не выполняются, но есть запись о них из-за дочерних процессов\\ **Аргументы**\\ * **-A(a), -e** - все процессы (все кроме фоновых). * **-N** - все кроме указанных. * **-C (-G)** - выбрать по имени (по ИД группы). * **-p (--ppid)** - выбрать по pid (pid родительского процесса). * **-u** - процессы пользователя. * **-t** - выбрать по tty. **Форматирование**\\ * **-f** - максимум информации. * **UID** - пользователь, от имени которого запущен процесс; * **PID** (PPID) - идентификатор (родительского) процесса; * **C** - процент времени CPU, используемого процессом; * **STIME** - время запуска процесса; * **TTY** - терминал, из которого запущен процесс; * **TIME** - общее время процессора, затраченное на выполнение процессора; * **CMD** - команда запуска процессора; * **LWP** - показывает потоки процессора; * **PRI** - приоритет процесса. * **-F** - добавляет еще несколько полей. * **SZ (RSS)** - это размер (реальный) процесса в памяти; * **PSR** - ядро процессора, на котором выполняется процесс. * **-l** - так же, добавляет поля * **F** - флаги, ассоциированные с этим процессом; * **S** - состояние процесса; * **PRI** - приоритет процесса в планировщике ядра Linux; * **NI** - рекомендованный приоритет процесса, можно менять; * **ADDR** - адрес процесса в памяти; * **WCHAN** - название функции ядра, из-за которой процесс находится в режиме ожидания. * **-j** - минимум информации. * **-k, --sort** - сортировка по указанному столбцу. * **-L, -m** - отображать потоки в колонках (после процесса). * **-H** - дерево процессов.
====== lsof ====== **LiSts all Open Files** файлы, открытые процессами, так же и процессы открытые файлами. Очень расширенный функционал, множество параметров\\ * **-u (-U)** - открытые конкретным пользователем (сокетом Unix) * **-p** - открытые процессом * **-d** - какие файлы и папки открыты в указанной директории * **-c** - открытые процессами выполняющие команды имена которых указаны в параметре * **-t** - вывод только PID процессов работающих с указанным файлом ====== Общее ======
:!: Примеры :!: Найти и завершить перечень процессов, по имени команды ps -ef | pkill -f my_prog