#include <stdlib.h>
int system( const char *cmdstring );
参数cmdstring是需要执行的shell命令。system的返回值的情况比较复杂。system函数是一个库函数,其中封装了fork,exec,waitpid三个系统调用,其返回值也要根据这三个系统调用的情况来讨论。
1. 如果fork函数和waitpid函数执行失败,system函数返回-1.
2. 如果exec函数执行失败,system函数返回如同shell调用了exit(127)一样,表示指定的文件不可执行。
3. 如果三个函数都成功执行,system函数返回执行程序的终止状态,其值和echo $?的值是一样的。
4. 如果参数cmdstring所指向的命令字符串为NULL,system函数返回1,这可以用来测试系统是否支持system函数。