Уничтожить дерево процесса использование терминала?

Существует ли способ уничтожить дерево процесса использование терминала?

Путем уничтожения дерева процесса я означаю уничтожать всех потомков процесса наряду с процессом это сам.

Я отметил этот вопрос htop потому что я использую ту утилиту много в эти дни, и было бы здорово, если бы был простой способ уничтожить дерево процесса внутри htop (что-то лучше, чем просто выбор всех процессов в поддереве).

0
задан 30 October 2014 в 22:11

5 ответов

Это должно помочь Вам!

pkill -TERM -P `PID`
3
ответ дан 4 August 2019 в 10:48

Используя htop, можно использовать F5 для показа дерева процесса.

при выборе процесса наверху дерева Вы хотите, уничтожают, затем нажимают F9 , сопровождаемый , Входят , это закроет процесс и все дерево процесса сразу.

В снимке экрана ниже этого действия заставил бы Chrome и весь подпроцесс быть закрытым.

enter image description here

0
ответ дан 4 August 2019 в 10:48

Да, это может быть сделано при помощи , уничтожают , я не уверен [приблизительно 116] htop. Например, если PGID процессов 65,78 и 90 равняется 35, то можно уничтожить их всех (сильно) следующей командой:

sudo kill -9 -35

т.е.

sudo kill -9 -<PGID>

0
ответ дан 4 August 2019 в 10:48

Я попробовал это, и это работало на меня

  1. , Получают идентификатор процесса PID вершиной или Htop (с F4 write-the-name-of-the-process ленты Htop тогда F5 для получения дерева)

  2. использование эта команда, это работало на меня

    kill -TERM pid
    
0
ответ дан 4 August 2019 в 10:48

В htop долгое время была функция для этого, но она отсутствовала в руководстве до 2018 года: нажмите кнопку c , чтобы выбрать текущий выделенный процесс. а также все его дети. Затем операции, которые применяются к выбранным процессам (такое уничтожение с использованием ключа k ), применяются к процессу и его дочерним процессам.

Однако это не атомарно. Если новые дочерние элементы создаются между моментом нажатия c и моментом, когда ядро ​​убивает все процессы, они не будут убиты и, скорее всего, будут повторно подключены к процессу init. Это потому, что htop зацикливается на выбранных процессах и убивает их один за другим.

Я недавно предложил патч для добавления атомарной функции уничтожения групп в htop, но реализация не была достаточно согласованной, чтобы ее можно было объединить. С его помощью можно атомарно убить целую группу процессов из htop. Это не совсем то же самое, что убить целое дерево, но, AFAIK, ядро ​​не предоставляет никакого способа уничтожить произвольное дерево атомарно.

3
ответ дан 7 August 2019 в 09:25

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

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