Описание тега popen
FILE *popen(const char *command, const char *type)
popen()
(Process OPEN) - это метод, с помощью которого программы могут запускаться и взаимодействовать с другими программами, используя файловый интерфейс. Эта функция не обязательна в ANSI, но указана в POSIX.
popen()
позволяет программисту избежать внутренней работы fork()
а также pipe()
(вот как это реализовано в UNIX-подобных системах) путем представления файлового объекта. Это позволяет использовать такие функции, какfprintf()
а также fscanf()
, предоставляя программисту более ортогональный интерфейс (кроме закрытия процесса - программист должен использовать pclose()
чтобы остановить подпроцесс).
Эта функция была перенесена на ряд языков программирования, таких как Python (os.popen
), Рубин (IO.popen
), Tcl (open |command
), так далее.