【发布时间】:2012-05-13 00:02:33
【问题描述】:
当命令将用户输入作为其一些参数时,我使用 fork()/exec()/wait() 而不是 system(),因此用户不能输入类似...
&rm -rf /home/* && echo HAHA
...作为参数。
我假设 popen 和 system() 一样危险,因为它需要一个字符串,而不是像 exec 系列函数那样的字符串列表。
我只能从 exec 函数中获取返回值。是否有一个“安全”版本的 popen,我可以使用用户输入运行并在父进程中处理 stdout / stderr?
【问题讨论】:
标签: c process fork subprocess pipe