Страницы

Поиск по вопросам

воскресенье, 2 февраля 2020 г.

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

#linux #bash


Как в linux определить процессы ядра и пользовательские процессы.
    


Ответы

Ответ 1



В современном linux, в отличие от многих других Unix есть так называемые "процессы ядра". По суди это просто части самого ядра, функции общего кода ядра, работающие в том же адресном пространстве и с теми же привилегиями, что и остальной код ядра. Единственное их отличие от других частей ядра, для них создаются отдельные записи в таблице процессов. Процессами они сделаны для того, что бы их выполнение происходило независимо от остальных частей ядра, с более низким приоритетом. Их выполнение происходит под контролем планировщика, как и все остальные процессы в системе. Процессы ядра linux запускаются самим ядром, при этом родительским процессом якобы их породившим, назначается процесс kthread, с PID=2. Таким образом процессами ядра надо считать сам процесс с PID=2, а так же процессы у которых PPID (т.е. pid родителя) равен 2. sudo ps --ppid=2 --pid=2 Пользовательские процессы - все остальные: sudo ps -N --ppid=2 --pid=2 Так же по умолчанию pstree без параметров показывает только дерево процессов порожденных init, т.е. пользовательских процессов. Процессы ядра покажет sudo pstree 2.

Комментариев нет:

Отправить комментарий