Существует ли способ уничтожить дерево процесса использование терминала?
Путем уничтожения дерева процесса я означаю уничтожать всех потомков процесса наряду с процессом это сам.
Я отметил этот вопрос htop
потому что я использую ту утилиту много в эти дни, и было бы здорово, если бы был простой способ уничтожить дерево процесса внутри htop
(что-то лучше, чем просто выбор всех процессов в поддереве).
Используя htop
, можно использовать F5 для показа дерева процесса.
при выборе процесса наверху дерева Вы хотите, уничтожают, затем нажимают F9 , сопровождаемый , Входят , это закроет процесс и все дерево процесса сразу.
В снимке экрана ниже этого действия заставил бы Chrome и весь подпроцесс быть закрытым.
Да, это может быть сделано при помощи , уничтожают , я не уверен [приблизительно 116] htop. Например, если PGID процессов 65,78 и 90 равняется 35, то можно уничтожить их всех (сильно) следующей командой:
sudo kill -9 -35
т.е.
sudo kill -9 -<PGID>
Я попробовал это, и это работало на меня
, Получают идентификатор процесса PID вершиной или Htop (с F4 write-the-name-of-the-process ленты Htop тогда F5 для получения дерева)
использование эта команда, это работало на меня
kill -TERM pid
В htop долгое время была функция для этого, но она отсутствовала в руководстве до 2018 года: нажмите кнопку c
, чтобы выбрать текущий выделенный процесс. а также все его дети. Затем операции, которые применяются к выбранным процессам (такое уничтожение с использованием ключа k
), применяются к процессу и его дочерним процессам.
Однако это не атомарно. Если новые дочерние элементы создаются между моментом нажатия c
и моментом, когда ядро убивает все процессы, они не будут убиты и, скорее всего, будут повторно подключены к процессу init. Это потому, что htop зацикливается на выбранных процессах и убивает их один за другим.
Я недавно предложил патч для добавления атомарной функции уничтожения групп в htop, но реализация не была достаточно согласованной, чтобы ее можно было объединить. С его помощью можно атомарно убить целую группу процессов из htop. Это не совсем то же самое, что убить целое дерево, но, AFAIK, ядро не предоставляет никакого способа уничтожить произвольное дерево атомарно.