linux system函数
来自个人维基
首先说明一下,ANSI C有定义system函数:
#include <stdlib.h> int system(const char* cmdstring);
如果cmdstring为空指针,则仅当命令处理程序可用时,system才返回非0值,这一特征可以决定在一个给定的操作系统上是否支持system函数。
返回值:
因为system在其实现中调用了 fork, exec和 waitpid,而其返回值只能有一个,所以其值可以分为以下几种情况:
1.fork失败,返回-1
2.exec失败(无法执行shell),返回值与exit(127)一样
3.waitpid失败,除EINTR之外的错误,返回-1
4.以上三个函数均执行成功,返回shell的终止状态