LINUX.ORG.RU

Сообщения Sheph

 

posix_spawn, Обнаружение ошибки загрузки процесса

Народ, такая проблема, юзаю posix_spawn для загрузки процесса, в доке написано что эта функция не всегда корректно возвращает ошибку, т.е если я дал ей имя файла, который на самом деле не является исполняемым, то posix_spawn всё-равно скажет что всё в порядке, а затем надо вызвать waitpid или wait и при помощи макроса WIFEXITED узнать, произошла ли ошибка при запуске нового процесса. Проблема только в том что wait/waitpid блокирует исполнение текущей программы. Т.е если я передал в posix_spawn левый файл, то waitpid быстро вернётся и скажет что ошибка, а если передать нормальный образ, то waitpid будет ждать до бесконечности(ну, пока новый процесс не изменит своего состояния, а он этого не сделает, т.к поднялся и работает нормально). Если же в опции waitpid передать WNOHANG, то WIFEXITED всегда возвращает false =( Подскажите что делать, как ждать до тех пор, пока процесс либо проинициализируется либо скажет, что он не может подняться, т.е переданный образ не корректный ?

P.S: Про posix_spawn можно прочитать так: man 3p posix_spawn

Sheph
()

RSS подписка на новые темы