Re[4]: Ожидание завершения процесса и его дочерних процессов
От: Xsyst  
Дата: 10.11.14 08:18
Оценка:
Здравствуйте, ononim, Вы писали:

O>>>Навскидку несколько решений, но все топорные:

O>>>1) Метод влоб. Toolhelp'ом периодически перечислять все живые процессы, проверяя их парентов. Метод требует _не закрывания_ хэндла на процесс A до окончания всей спецоперации, в противном случае его PID может реюзнуться и выйдет конфуз.
X>>Как вариант, но думал есть варианты попроще
O>У него есть и большой недостаток — если как вы ниже написали процессы B и C могут порождать правнуков, которых тоже нужно ждать — то этот вариант — не вариант.
Почему не вариант? Я же знаю PID процессов B и C, почему тогда к правнукам нельзя применить тот же метод?

O>>>..подумаю, может еще чего добавлю, если конечно методы такого рода представляют интерес

X>>Наверное можно еще сделать перехват CreateProcess и если эта функция вызывается в интересующем процессе, то передавать PID этого процесса ожидающей программе.
O>Сделать перехват, и сделать перехват, работающий стабильно на различных системах — это проблемы разных порядков. Особенно если это перехват CreateProcess'а.
А чем перехват CreateProcess отличается от перехвата другой функции?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.