в ожидании завершения процесса - PullRequest
0 голосов
/ 18 сентября 2009

У меня есть программа на C #, которая запускает какой-то процесс, например

        generate.exe a.tif -o myfile.txt

и после следующей строки мой код должен получить доступ к следующему файлу myfile.txt. как я узнаю, когда он будет готов? я знаю, что он сгенерирует файл точно, но как установить следующую строку, чтобы он выполнялся только после того, как сгенерирован файл myfile.txt большое спасибо !!!

Ответы [ 4 ]

4 голосов
/ 18 сентября 2009

Попробуйте: Process.WaitForExit

1 голос
/ 18 сентября 2009

Если процесс заканчивается сразу после создания файла, вы можете использовать Process.WaitForExit, как предложено @Naveen. Если процесс не заканчивается, тогда:

  1. Либо вам придется ввести IPC (например, события), чтобы указать создание файла.
  2. Или опросить создание файла, открыв его через определенное время. (слабое решение, я полагаю).
1 голос
/ 18 сентября 2009

Предполагая, что ваш процесс завершает работу только после создания файла, вы можете использовать Process.WaitForExit ()

Вы можете проверить также эту статью kb для получения дополнительной информации: http://support.microsoft.com/kb/305369

0 голосов
/ 05 ноября 2009

Process.HasExited даст вам ответ, который вы ищете.

...