Описание тега pclose

В C функция pclose() закрывает поток, открытый функцией popen().

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

  • wait()
  • waitpid() с аргументом pid равным -1 или равным идентификатору процесса интерпретатора команд.

В любом слючае, pclose() не возвращается до дочернего процесса, созданного popen() прекращается.

Если какая-либо ошибка препятствует выполнению интерпретатора команд после создания дочернего процесса, возвращаемое значение из pclose() как если бы интерпретатор командного языка прекратил использование exit(127) или _exit(127).

Источник: страница руководства для pclose() - закрыть поток конвейера на mkSoftware