您的位置:首页 > 大数据 > 人工智能

封装 fork wait execvp, 编写函数 process_create

2018-03-25 09:51 232 查看

利用回调函数封装fork wait execvp 等函数, 编写一个progress_create函数

#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>

int process_create(int(*func)(), const char *file, char *argv[])
{
int ret = 0;
pid_t pid = fork();
if(pid == 0)
{
//子进程
ret = func(file, argv);
if(ret == -1)
{
printf("调用execvp失败\n");
perror("func");
_exit(-1);
}

}
else
{
int st;
pid_t ret = wait(&st);
if(ret == -1)
{
perror("wait");
exit(-1);
}
}
return 0;
}

int main()
{

997d
char *argv1[] = {"ls"};
char *argv2[] = {"ls", "-al", "/etc/passwd", 0};
process_create(execvp, *argv1, argv2);
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: