У меня есть процесс A, который запускает процесс B. Процесс B изменяет некоторые файлы процесса A, поэтому мне нужна задержка в процессе B, чтобы процесс A закрылся.Задержка начала процесса до завершения родительского процесса
На данный момент я основал два решения.
Решение 1: цитата из link «Единственный способ, которым я могу думать, это написать вторую программу, которая ждет 30 секунд и загружает нужную программу, вы вызываете эту программу и закрываете первую программу, вторая ждет 30 секунд затем загружает тот, который вы хотели в первую очередь ».
Эта работа, но третья программа немного плохая, если вы знаете, что я имею в виду.
Решение2: Просто, просто поместите Thread.Sleep в процессе B до начала логического запуска (у меня есть контроль над процессами A и B). Эта работа тоже, и это не плохой идеей ...
Я спрашиваю, потому что я ищу способ передать параметры при вызове на процессы A на processB.start, так что это может быть более чистое/элегантное решение ,
Что вы пробовали? Можете ли вы поделиться своим кодом с тем, как вы начинаете свои процессы? Будет ли ['Process.WaitForExit()'] (https://msdn.microsoft.com/en-us/library/fb4aw7b8 (v = vs.110) .aspx) работать? Как следует из названия, он запускает процесс, а затем выполняет все выполнение до тех пор, пока этот процесс не завершится, затем он возобновится. – sab669
Это не работает для меня, мне нужен процесс A Перед тем, как запустить B-версию, Process.WaitforExit() - это наоборот. Повторяю, процесс B попытается изменить файлы процесса A, если процесс A запущен, процесс B не сможет выполнить изменения. – Aferrercrafter
Передайте PID процесса A для обработки B, откройте процесс из B, а затем выполните WaitForExit(), затем выполните модификацию файла – Gusman