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)); } 其实是满早前问的一个问题,忘更新过来了。