Я знаю, что дочерний процесс может контролировать родительский процесс.Windows должна делать это автоматически?В конце концов, он отслеживает иерархию запуска процесса.
Вы не можете сделать это наивно через C #.Вам нужно будет использовать PInvoke для вызова Win32 Job API .
Вызовы API приведены в следующем ответе: Как автоматически уничтожить дочерние процессы в Windows?
Вы можете использовать Jobs, попробуйте функцию SetInformationJobObject, ключом является использование значения JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE в LimitFlags члене _JOBOBJECT_BASIC_LIMIT_INFORMATION структуры, переданной в функцию .
SetInformationJobObject
JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE
LimitFlags