Здравствуйте, CEMb, Вы писали:
CEM>Здравствуйте, Xsyst, Вы писали:
X>>>>>Не вариант, я же не в курсе, что будут за процессы B и C и будут ли они вообще
PD>>>>Будут ли вообще — не проблема, а насчет первого уточни. Выходит, A может запускать неизвестно из какого списка берущиеся B и C ? Или все же список кандидатов известен ? EXE-шники все же не зарождаются сами...
CEM>>>я так понял, процесс А — может быть любым(например, пользователь выбрал)?
CEM>>>Хотелось бы узнать у автора, какова цель? А то, может быть, решение совсем другое нужно.
X>>Процесс A действительно может быть любым, об остальных процессах программа вообще ничего не знает. Их в принципе может и не быть. X>>А процессы B и C просто для примера, тем более их действительно может создать сам процесс A (например скопировать из своего оверлея или распаковать архив во временную папку). X>>Как пример, посмотрите как запускается ProcessExplorer на x64 системах. X>>А задача: дождаться окончания определенной операции, начатой при запуске процесса А, а заканчивающейся при завершении процесса А и всех процессов, порожденных процессом А и его внуками (правнуками и т.д.).
CEM>А какова цель всего этого, если не секрет? Зачем дожидаться окончания всех дочерних процессов?
Для синхронизации задач. Например задача 2 должна выполниться только строго после задачи 1, а задача 1 в свою очередь состоит из того, что процесс А должен выполнить свою работу.
Примеров можно множество придумать.