Get Return Value from popen System Call
popen的调用的返回值是popen自己的返回值,并不是被调用程序的返回值,如果需要取被调用程序的返回值,则需要先用pclose()取到返回的status信 息,再用wait的宏进行判断。
int status = pclose(fp);
if (status == -1) {
printf("Error reported by pclose()\n");
exit(1);
} else {
printf("Process exited? %s\n", WIFEXITED(status) ? "yes" : "no");
printf("Process status: %d\n", WEXITSTATUS(status));
}
其实是满早前问的一个问题,忘更新过来了。