1、 了解系统调用fork()、execl()、exit()、Getpid()和waitpid()的功能和实现过程 2、 编写一段程序实现以下功能: a) 使用系统调用fork()创建两个子进程 b) 父进程重复显示字符串”parent:”,并使用函数Getpid()显示自己的进程ID。 c) 两个子进程分别重复显示字符串”child:”,并使用函数Getpid()显示自己的进程ID 3、 编写一段程序实现以下功能: a) 使用系统调用fork()创建一个子进程 b) 子进程显示自己的进程ID和字符串": The child is calling an exec.\n",然后通过execl()调用系统命令ps显示当前运行的进程情况,从而更换自己的执行代码,最后调用exit()结束。 c) 父进程显示自己的进程ID和字符串” ": The parent is waiting for child to exit.\n ",然后调用waitpid()等待子进程结束,并在子进程结束后显示”The parent exit.\n
上传时间: 2013-12-18
上传用户:叶山豪
srand[Getpid[]] /* initialize some of the memory */ memset[heightmap, 0, MAPSIZE*MAPSIZE] memset[vpage, 0, RENDERWIDTH * RENDERHEIGHT] printf["Creating dx d fractal terrain\n", MAPSIZE, MAPSIZE] heightmap[0] = [rand[] 128] + 64 // initialize starting point on map CreateFractalMap[0, 0, MAPSIZE, MAPSIZE] printf["Smoothing terrain\n"] for [i = 0 i < 5 i++] SmoothMap[] MakeColorMap[]
标签: MAPSIZE initialize heightmap Getpid
上传时间: 2014-01-04
上传用户:ainimao
srand[Getpid[]] /* initialize some of the memory */ memset[heightmap, 0, MAPSIZE*MAPSIZE] memset[vpage, 0, RENDERWIDTH * RENDERHEIGHT] printf["Creating dx d fractal terrain\n", MAPSIZE, MAPSIZE] heightmap[0] = [rand[] 128] + 64 // initialize starting point on map CreateFractalMap[0, 0, MAPSIZE, MAPSIZE] printf["Smoothing terrain\n"] for [i = 0 i < 5 i++] SmoothMap[] MakeColorMap[]
标签: MAPSIZE initialize heightmap Getpid
上传时间: 2013-12-25
上传用户:CSUSheep
实现Shell,能处理命令 cd :改变进程当前路径 pwd :查看进程当前路径 pid:查看当前进程号(Getpid()系统调用) logout :退出shell ls [-l] rm [-r] mkdir, mv, cp
标签: Shell
上传时间: 2015-04-20
上传用户:ccclll
创建两个生产者进程和两个消费者进程,生产者进程a需要生成10000个整数,每次都将自己的进程号(用Getpid()函数获得)和生成的整数放入共享内存中(共享内存大小为64Byte)。生产者b每次从26个英文字母中选一个,并将自己的进程号和选中的字母放入共享内存中,直到26个字母全部都选中。消费者进程c负责从共享内存中读取数据生产者进程a的数据并且将这些数据写入文件a.out。消费者进程d从共享内存读取进程b的数据后写入b.out中。
标签: 进程
上传时间: 2014-01-24
上传用户:王者A