模拟实现进程创建函数process_create

原创 2018年04月16日 18:15:11

利用fork( )、wait( )等函数模拟实现进程创建函数process_create

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

typedef void *(*FUNC)(void *); 

typedef struct Arg{
  int reg;
} Arg;

void* func(void *parameter){
  (void)parameter;
  printf("haha\n");
  return NULL;
}

void process_create(pid_t *pid,void *func,void *arg){
  int id = fork();
  if(id < 0){ 
    perror("fork:");
        return ;
  }else if(id == 0){
    //child
   FUNC funcback = (FUNC)func;
   funcback((Arg *)arg);
   exit(0);
  }else{
    //father
   *pid = wait(NULL);
  }
}


int main(){
  pid_t pid;
  Arg arg;
  process_create(&pid,func,&arg);
  printf("pid = %d\n",pid);
  return 0;
}
结果如下:

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lu_1079776757/article/details/79964170

ATM取款机模拟实战项目

我们从现实生活中的ATM取款机的广泛使用,来确定我们编写ATM取款机程序的功能。首先,用户的登陆、用户的取款、用户的查询、用户的转帐、用户密码的修改等功能。根据实际功能的需求完成我们的程序。 “ATM取款机项目”主要描述“ATM取款机”的工作原理,与实际生活相结合,编写一个模拟实战项目。
  • 2015年05月12日 14:29

进程创建、控制与撤消

  • 2010年06月23日 11:11
  • 1KB
  • 下载

操作系统实验——模拟进程的创建与撤销

  • 2013年11月12日 15:42
  • 6.21MB
  • 下载

实验一、进程的创建和撤销

一.实验目的(1)       加深对进程概念的理解和进程创建与撤消算法;(2)       进一步认识并发执行的实质。二.实验内容(1)进程管理认识:通过windows “任务管理器”观察进程的状态...
  • mycomputerxiaomei
  • mycomputerxiaomei
  • 2010-06-29 15:36:00
  • 4536

一个关于进程创建与撤消的实验报告

  • 2011年04月15日 19:39
  • 53KB
  • 下载

操作系统 进程创建实验报告和代码

  • 2010年12月03日 09:48
  • 39KB
  • 下载

操作系统实验(包括进程创建,C语言使用)

  • 2009年12月17日 23:10
  • 21KB
  • 下载

模拟操作系统 os 进程 设备 磁盘 文件管理实现 比较简单 c 语言版

  • 2011年01月25日 23:14
  • 24KB
  • 下载

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
  • 27

实现函数 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
收藏助手
不良信息举报
您举报文章:模拟实现进程创建函数process_create
举报原因:
原因补充:

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