第1关:进程等待
if(wait(&status) != -1)
{
if(WIFEXITED(status))
status = WEXITSTATUS(status);
else
status = -1;
}
else
{
status = -1;
}
第2关:进程创建操作-exec函数族
void execlProcess()
{
pid_t pid = vfork();
if(pid == -1)
{
printf("创建子进程失败(%s)\n", strerror(errno));
return -1;
}
else if(pid == 0)
{
//子进程
/********** BEGIN **********/
if(execle("touch","touch","testDir",NULL)<0)
{
exit(-1);
}
/********** END **********/
}
else
{
//父进程
/********** BEGIN **********/
printf("Parent Process");
/********** END **********/
}
}
第3关:进程创建操作-system
int test=system("mkdir testDir");
if(test==1)
{
return test;
}
第4关:实现一个简单的命令解析器
int i=0;
while(i<commandNum)
{
system(cmd[i]);
i++;
}