Как убить поток ядра? И я действительно хочу это сделать?

Как я узнал из этого вопроса , процессы [bracketed], перечисленные командой ps aux, являются потоками ядра. Так есть ли способ убить их из командной строки? Если нет, я думаю, причина этого в том, чтобы уберечь пользователя от более высокого риска возникновения паники в ядре, верно?

8
задан 13 April 2017 в 15:24

2 ответа

Вы не можете уничтожить потоки ядра или любой процесс, заблокированный в состоянии D, поскольку сигналы доставляются только тогда, когда ядро ​​возвращается в режим пользователя. Помимо технических ограничений доставки сигналов, уничтожение потока в середине кода ядра может привести к повреждению системы, поскольку код ядра может в то время содержать важный ресурс, такой как спин-блокировка или мьютекс, а его уничтожение предотвратит это. ресурсы от освобождения.

Если у вас есть процесс, который застрял в состоянии D на длительный период времени, то у вас есть ошибка в ядре. См. https://wiki.ubuntu.com/KernelTeam/KernelTeamBugPolicies для получения советов о том, как сообщить об этом.

0
ответ дан 13 April 2017 в 15:24

Потоки ядра - это необходимые потоки, созданные вашим ядром для управления вашей системой.

Не все являются необходимыми, но все (большинство) все полезны и не требуют, в основном, никаких дополнительных ресурсов, нет никаких причин, по которым в обычных условиях можно было бы подумать об уничтожении потока ядра.

Ядро Linux может создавать и уничтожать эти потоки, когда это необходимо, вам не следует о них беспокоиться, и в большинстве случаев убивать нельзя.

0
ответ дан 13 April 2017 в 15:24

Другие вопросы по тегам:

Похожие вопросы: