> А какой там у ядра PID, согласно народной традиции?Изначально в линуксе все начинается с ядерного треда, его PID = 0 вроде бы номинально. Потом он кроме всего прочего создаст еще один, который уже PID = 1, он попытается стать вашим init'ом.
Но это не конец истории. Во первых есть такая штука как kthreadd. Обычно он садится на PID=2, хотя является ли это каким-то жестким requirement - черт знает, сорц смотреть надо. Как можно догадаться из названия, это - как инит, но для тредов кернела. Треды ядра считаются запущенными им, он их "parent pid" для всего что важно.
Ах да, из всего этого следует что ядро так то threaded и может запускать треды. Какой там у них PID будет? Да любой валидный. Это мало чем хуже обычного процесса. Ну разве что исполняемого файла нет (линк на образ исполняемого в proc не работает) и убить стандартным способом нельзя.
Если этого показалось мало, есть еще такая штука как kworker. На самом деле довольно забавная штука, используется для дефера тяжелых операций в фоновые воркеры. Те кому в ядре надо тяжелые операции пульнуть могут зарегистрировать это в воркере и отвалить по быстрому. А вот это добро потом в фоне отпедалит запрошенное. Так то довольно продвинуто, для ядра то, такому то сервису и апликушник высокоуровневый позавидует иной раз.
Ну вон ps -AF какой рисует ядерные тредики не как processname а как [processname], квадратные скобки хинтят что это принадлежит ядру. Так что если вы хотели все его PID познать - да вот, изучайте. Ну там ps -AFH вам в руки (это еще и иерархически, показывает что треды ядра под kthreadd живут например).