NonePopen() - это способ взаимодействия с подпроцессами с использованием файлового интерфейса. Он возник на C, но был перенесен на другие языки (через расширения), такие как Python.

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), так далее.