小编Cod*_*odo的帖子

我可以在不调用 shell 的情况下使用 popen() 吗?在 C++ 中

我想从我的 C++ 代码中调用带有标志的 rpm 命令并获取输出,但我不想在该过程中使用 shell。

我考虑使用 popen,但看到它使用 shell 来执行我不想要的命令。我可以使用 pipeline\fork\exec long 方法,但我想逐行读取,并且不确定如何使用它,所以我考虑使用 popen() 代替,如果可以在没有中间 shell 的情况下执行它。

我的问题是是否有一种方法可以使用 popen() 而不调用 shell,而只需调用带有其标志的二进制文件(例如 /usr/bin/rpm -qa)?或者我将不得不走很长的路?

c++ linux shell popen

3
推荐指数
1
解决办法
354
查看次数

标签 统计

c++ ×1

linux ×1

popen ×1

shell ×1