相关文章推荐
逆袭的甘蔗  ·  popen 子例程·  2 月前    · 
严肃的麻辣香锅  ·  Python ...·  2 月前    · 
豪爽的毛豆  ·  springboot集成minio ...·  1 年前    · 
潇洒的课本  ·  MySQL Workbench ...·  2 年前    · 

描述

popen 子例程在调用程序和要执行的 shell 命令之间创建管道。

注: popen 子例程仅运行 sh shell 命令。 如果 Command 参数不是有效的 sh shell 命令,那么结果不可预测。 如果终端处于可信状态,那么将运行 tsh shell 命令。

如果先前对 popen 子例程的调用所打开的流在父进程中保持打开状态,那么 popen 子例程将在子进程中关闭这些流。

popen 子例程返回指向流的 FILE 结构的指针。

注意: 如果原始进程和使用 popen 子例程启动的进程同时读取或写入公共文件,那么这两个进程都不应使用缓冲 I/O。 如果这样做,那么结果是不可预测的。

通过使用 fflush 子例程清空缓冲区,可以防止输出过滤器出现一些问题。

表 1. 参数