【发布时间】:2025-12-02 17:50:01
【问题描述】:
我正在编写一个 C 程序,使用一些外部二进制文件来实现计划目标。我需要运行一个命令给我一个输出,然后我需要处理它,然后作为输入输入另一个程序。我正在使用 popen,但想知道这是否与使用 KornShell (ksh) 临时文件相同。
例如:
touch myfile && chmod 700
cat myfile > /tmp/tempfile
process_file < /tmp/tempfile && rm /tmp/tempfile
既然创建了一个root可以读取的临时文件,那么如果在C中使用popen,知道管道也是文件,会不会一样?或者假设操作系统 (OS) 不允许任何其他进程读取您的管道是否安全?
【问题讨论】:
-
不要使用700权限;您没有创建可执行文件。使用 600。