我想从我的C++代码中调用一个带标志的rpm命令并获得输出,但我不想在这个过程中使用shell .
我考虑使用Popen,但看到它使用shell 来执行命令,这是我不想要的. 我可以使用PIPE\FORK\EXEC Long方法,但是我想逐行读取,并且不确定如何使用它,所以我想如果可以在没有中间shell 的情况下使用它来执行的话,我想改用Popen().
我的问题是,是否有一种方法可以在不调用shell 的情况下使用popen(),而只调用带有其标志的二进制文件(例如/usr/bin/rpm-qa)? 要不我就得走长途了?