Какая среда?
В.NET я обычно создаю пустой файл класса, переименовываю ее к MyEnum или безотносительно указать, что она содержит мое перечисление, и просто объявите его там.
Это непростая задача. Windows фактически не хранит дерево процессов в пространстве процессов. Также невозможно завершить процесс и указать, что его дочерние элементы также должны умереть.
Один из способов обойти это - использовать taskkill и сказать ему, чтобы он разбудил все дерево.
Другой способ сделать это (при условии, что вы порождение процесса верхнего уровня) заключается в использовании модуля, который был разработан с учетом такого рода вещей: http://benjamin.smedbergs.us/blog/tag/killableprocess/
Для этого как правило, вы должны потратить некоторое время на построение списка в обратном порядке. То есть процесс хранит указатели на свой PARENT, но кажется, что родители не хранят информацию о потомках.
Итак, вы должны посмотреть на все процессы в системе (что на самом деле не так уж и сложно), а затем вручную соедините точки самостоятельно, посмотрев на поле родительского процесса. Затем вы выбираете интересующее вас дерево и проходите его, убивая каждый узел по очереди, один за другим.
Обратите внимание, что Windows не обновляет родительский указатель дочернего элемента, когда родитель умирает, поэтому могут быть пробелы в вашем дереве. Я не знаю, что вы можете с этим сделать.
Поместите детей в объект NT Job , тогда вы можете убить всех детей