【发布时间】:2015-05-19 04:57:39
【问题描述】:
我希望在不使用system的情况下进行以下行为
int ret = system("less -V > /dev/null 2>&1");
if (ret == 0) {
printf("The less executable was found.\n");
}
如果系统上安装了 less,我需要变量 ret 为 0,但不使用对 system 的调用。可以用exec 或类似的方式完成吗?
【问题讨论】:
-
但不使用对
system的调用。这是一个奇怪的要求。 -
是的,很奇怪。您将需要 fork() 并且可能想要使用 execlp() 并且这只适用于 Linux 而不是基于 BSD 的 Unix(如此处所述(man7.org/linux/man-pages/man3/exec.3.html)
-