Как я узнал из этого вопроса , процессы [bracketed]
, перечисленные командой ps aux
, являются потоками ядра. Так есть ли способ убить их из командной строки? Если нет, я думаю, причина этого в том, чтобы уберечь пользователя от более высокого риска возникновения паники в ядре, верно?
Вы не можете уничтожить потоки ядра или любой процесс, заблокированный в состоянии D, поскольку сигналы доставляются только тогда, когда ядро возвращается в режим пользователя. Помимо технических ограничений доставки сигналов, уничтожение потока в середине кода ядра может привести к повреждению системы, поскольку код ядра может в то время содержать важный ресурс, такой как спин-блокировка или мьютекс, а его уничтожение предотвратит это. ресурсы от освобождения.
Если у вас есть процесс, который застрял в состоянии D на длительный период времени, то у вас есть ошибка в ядре. См. https://wiki.ubuntu.com/KernelTeam/KernelTeamBugPolicies для получения советов о том, как сообщить об этом.
Потоки ядра - это необходимые потоки, созданные вашим ядром для управления вашей системой.
Не все являются необходимыми, но все (большинство) все полезны и не требуют, в основном, никаких дополнительных ресурсов, нет никаких причин, по которым в обычных условиях можно было бы подумать об уничтожении потока ядра.
Ядро Linux может создавать и уничтожать эти потоки, когда это необходимо, вам не следует о них беспокоиться, и в большинстве случаев убивать нельзя.