编写函数 process_create(pid_t* pid, void* func, void* arg)

原创 2018年04月17日 13:26:08

封装fork/wait等操作, 编写函数 process_create(pid_t* pid, void* func, void* arg),func回调函数就是子进程执行的入口函数, arg是传递给func回调函数的参数.

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

int process_create(int (*func)(),const char* file,char *argv[])
{
        pid_t pid = fork();
        if(pid == -1){
                perror("fork error!");
                exit(0);
        }
        if(pid == 0){
                int ret = func(file,argv);
                if(ret == -1){
                        perror("func error!");
                        exit(1);
                }
        }else{
                int st ;
                pid_t ret = wait(&st);
                if(ret == -1){
                        perror("wait error!");
                        exit(2);
                }

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

这里写图片描述

版权声明: https://blog.csdn.net/Shawei_/article/details/79973480

CTI领域标准API的第一选择——TAPI 3.0

CTI领域标准API的第一选择——TAPI 3.0美国Music Telecom公司技术支持部 王宏TAPI出现已经有很长时间,从1993年公布的TAPI 1.0版,经过1.3、1.4、2.0、2.1...
  • tchaikov
  • tchaikov
  • 2001-01-08 10:29:00
  • 914

封装fork/wait等操作, 编写函数 process_create(pid_t* pid, void* func, void* arg), func回调函数就是子进程执行的入口函数, arg是传递

  • qq_40995354
  • qq_40995354
  • 2018-04-07 11:35:12
  • 30

实现函数 process_create

封装fork/wait等操作, 编写函数 process_create(pid_t* pid, void* func, void* arg)  func回调函数就是子进程执行的入口函数, arg是传递...
  • Nessie_zhao
  • Nessie_zhao
  • 2018-03-30 10:25:17
  • 11

Linux进程控制-进程创建/终止/等待&自主shell&封装fork/wait&函数popen/system

一.学习进程创建, 终止,等待(使用代码实现)1.进程创建(1)fork创建进程    fork调用格式         #include &amp;lt;unistd.h&amp;gt;      ...
  • Lycorisradiata__
  • Lycorisradiata__
  • 2018-04-06 11:17:27
  • 26

封装 fork wait execvp, 编写函数 process_create

利用回调函数封装fork wait execvp 等函数, 编写一个progress_create函数 #include&amp;lt;stdio.h&amp;gt; #include&amp;...
  • sinat_36629696
  • sinat_36629696
  • 2018-03-25 09:51:54
  • 54

void *(*func)(void *)总结

注意:函数指针是C语言的语法,无法把C++类的函数地址赋给一个函数指针变量,其不支持通过命名空间来访问一个类的函数/方法。 问题来源:线程创建函数, pthread_create(pthread_t ...
  • jzhb1987
  • jzhb1987
  • 2013-09-24 16:01:59
  • 1822

关于封装fork/wait等操作, 编写函数 process_create(pid_t* pid, void* func, void* arg)的解答

process_create(pid_t* pid, void* func, void* arg)函数里的pid是func回调函数就是子进程执行的入口函数, arg是传递给func回调函数的参数...
  • Cyrus_wen
  • Cyrus_wen
  • 2018-04-21 13:28:18
  • 1

封装fork/wait等操作, 编写函数 process_create(pid_t* pid, void* func, void* arg)

封装fork/wait等操作, 编写函数 process_create(pid_t* pid, void* func, void* arg), func回调函数就是子进程执行的入口函数, arg是传递...
  • zy20150613
  • zy20150613
  • 2018-04-15 10:17:26
  • 11

编写函数 process_create(pid_t* pid, void* func, void* arg), func回调函数就是子进程执行的入口函数, arg是传递给func回调函数的参数.

#include&amp;lt;stdio.h&amp;gt; #include&amp;lt;stdlib.h&amp;gt; #inlude&amp;lt;unistd.h&amp;gt; in...
  • long0624
  • long0624
  • 2018-04-20 17:37:23
  • 2

typedef void(*Func)(void)的简单用途

博文中如有从网上摘抄,截取信息与片段,如有版权问题,请联系:Email:king1062373518163com.  博文中出现错误,请及时指出.技术交流:QQ:1062373518.  版权声明:本...
  • Big_KingWang
  • Big_KingWang
  • 2016-01-16 13:15:50
  • 3194
收藏助手
不良信息举报
您举报文章:编写函数 process_create(pid_t* pid, void* func, void* arg)
举报原因:
原因补充:

(最多只允许输入30个字)