Linux系统进程控制
Linux系统进程控制
一、实验目的:
1、掌握Linux系统中进程控制原语fork( )、 sleep( )、wait( )、 exit( ) 和exec 的使用方法。
2、了解Linux系统进程控制。
3、加深对Linux系统进程控制的理解。
二、实验内容:
1、在Linux系统中编写 C程序,创建一个子进程。
2、父进程和子进程交替运行。父进程先显示一次“Current time:”, 然后子进程每隔一秒显示一次当前系统日期和时间,共显示三次。
3、以上过程共循环进行五次。
三、运行环境
Linux下的终端
四、实验步骤
1、通过VI操作进入终端,相关操作指令有
进入vi 键入vi [文件名]并按回车
到输入模式 按或
输入文本 将文本键入缓冲区
到命令模式 按
保存缓冲区到文件 键入:w ,并按回车
退出vi 键入:q ,并按回车
2、了解相关函数
①fork调用的作用是复制调用它的进程(父进程) 从而产生一个几乎一样的进程(子进程)。②sleep( )就是暂时放弃CPU一会,即延时。如:
sleep(2);
printf(“sleep for a while\n”);
隔2秒钟打印。
③wait()会暂时停止目前进程的执行,直到有信号来到或子进程结束。如果在调用wait()时子进程已经结束,则wait()会立即返回子进程结束状态值。子进程的结束状态值会由参数status 返回,而子进程的进程识别码也会一快返回。如果不在意结束状态值,则参数status 可以设成NULL。子进程的结束状态值请参考waitpid()。
④exit()就是退出,传入的参数是程序退出时的状态码,0表示正常退出,其他表示非正常退出,一般都用-1。⑤exec被调用时会替换调用它的进程的代码段和数据段(但是文件描述符不变),直接返回到调用它的进程的父进程,如果出错,返回-1并设置errno。
3、输入代码