#include <stdlib.h>
int system(const char * command)
system在其实现过程中调用了fork,exec和waitpid,因此有以下三种返回值
- fork失败或者waitpid返回除了EINTR之外的出错,则system返回-1,并且设置errno指示错误类型。
- 如果exec失败,则其返回值如同shell执行了exit(127)一样
- 否则所有3个函数(fork,exec和waitpid)都成功。那么system的返回值事shell的终止状态。
使用system而不使用fork和exec的优点是:system进行了所需的各种出错处理以及各种信号处理。