实验目的
熟悉Linux进程控制编程,掌握多进程程序中相关函数的作用,理解Linux中多进程编程的步骤;熟悉进程间通信中管道的使用。
实验内容
熟悉Linux进程控制编程;
熟悉Linux进程间通信的6种方式;
掌握Linux进程有关的函数调用。
实验准备
熟悉Linux常用命令以及ubuntu终端操作方法;
熟悉vim等工具的安装和使用;
熟悉gcc编译及make和makefiel机制。
实验内容
理解fork、exec函数族、exit、_exit、wait、waitpid、setsid、chdir、umask、getdtablesize等函数的应用
execlp函数:execlp()函数属于exec()函数族,exec()族函数用一个新的进程映像替换当前进程映像。
execl函数:execl()其中后缀"l"代表list也就是参数列表的意思,第一参数path字符指针所指向要执行的文件路径, 接下来的参数代表执行该文件时传递的参数列表:argv[0],argv[1]… 最后一个参数须用空指针NULL作结束。
execle函数:将新程序的每个命令行参数都说明为 一个单独的参数。这种参数表以空指针结尾。
execve()用来执行参数filename字符串所代表的文件路径,第二个参数是利用数组指针来传递给执行文件,并且需要以空指针(NULL)结束,最后一个参数则为传递给执行文件的新环境变量数组。
exit函数将终止调用进程。在退出程序之前,所有文件关闭,缓冲输出内容将刷新定义:
_exit:该函数是由Posix定义的