popen(3) Library Functions Manual popen(3) popen, pclose - (libc -lc) #include FILE *popen(const char *, const char *); int pclose(FILE *); glibc ( feature_test_macros(7)): popen(), pclose(): _POSIX_C_SOURCE >= 2 || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE popen() . . . /bin/sh -c . 'r' 'w' . glibc 2.9 'e' (FD_CLOEXEC) O_CLOEXEC open(2) . popen() / pclose() fclose(3). popen() . popen(). popen() . pclose() wait4(2). popen(): fork(2) pipe(2) NULL. pclose(): wait4(2) -1. errno . popen() errno . fork(2) pipe(2) errno . errno EINVAL. pclose() errno ECHILD. attributes(7). +------------+------------------------------------+--------------------+ || | | +------------+------------------------------------+--------------------+ |popen(), | | MT-Safe | |pclose() | | | +------------+------------------------------------+--------------------+ 'e' . POSIX.1-2008. POSIX.1-2001. system(3) . popen() . . fflush(3) popen(). . 127. sh(1) fork(2) pipe(2) wait4(2) fclose(3) fflush(3) fopen(3) stdio(3) system(3) 3 . . : . 6.18 21 2025 popen(3)