Описание тега pclose
В C pclose()
закрывает поток, открытый popen()
, ожидает завершения команды и возвращает статус завершения процесса, который выполнял интерпретатор команд. Однако, если в результате вызова статус завершения стал недоступен дляpclose()
, тогда pclose()
возвращает -1 с errno
установлен в ECHILD
сообщить об этой ситуации. Это может произойти, если приложение вызывает одну из следующих функций:
wait()
waitpid()
с аргументом pid равным -1 или равным идентификатору процесса интерпретатора команд.
В любом слючае, pclose()
не возвращается до дочернего процесса, созданного popen()
прекращается.
Если какая-либо ошибка препятствует выполнению интерпретатора команд после создания дочернего процесса, возвращаемое значение из pclose()
как если бы интерпретатор командного языка прекратил использование exit(127)
или _exit(127)
.
Источник: страница руководства для pclose() - закрыть поток конвейера на mkSoftware