实验六 进程基础
项目 | 内容 |
---|---|
这个作业属于的课程 | 课程班级的主页链接 |
这个作业要求在哪里 | 作业要求的链接地址 |
学号-姓名 | 18043209张升豪 |
作业学习目标 | 1.掌握Linux系统环境C语言编程概念 2.学习Linux系统进程概念 |
1请举例说明静态链接库的创建与使用
静态函数库实际上就是简单的一个普通的目标文件的集合,一般来说习惯用“.a”作为文件的后缀。可以用ar这个程序来产生静态函数库文件。Ar 是archiver的缩写。静态函数库现在已经不在像以前用得那么多了,主要是共享函数库与之相比较有很多的优势的原因。慢慢地,大家都喜欢使用共享函数库了。不过,在一些场所静态函数库仍然在使用,一来是保持一些与以前某些程序的兼容,二来它描述起来也比较简单。
静态库函数允许程序员把程序link起来而不用重新编译代码,节省了重新编译代码的时间。
2.请举例说明共享库的创建与使用。
3.编程实现一个简单文件复制命令。
4.使用fork创建一个子进程,进程创建成功后父子进程分别输出不同的内容
删除fork1.c文件中 fflush(NULL); 这一行后运行结果为
继续删除fork1.c文件中 “ printf("[%d]:Begin! \n",getpid()); ” 这一句中的“\n”结果为:
5使用fork创建多个子进程。
6在 fork 之前以写的方式创建了一个文件 test.txt。然后 fork 出的子进程立即向文件中写入“world”,然后睡眠5秒。而父进程在 fork 后睡眠3秒后向 test.txt 写入 "hello",并关闭描述符。子进程恢复后,又向 test.txt 文件中写入 "lalala"后关闭描述符,结束
7分别在主函数中使用
execvp
启动ls
命令以及使用fork
函数产生子进程调用execvp
启动ls
1)在主函数中使用 execvp 启动 ls 命令
8创建5个僵尸进程,并在终端通过
ps axf
命令查看僵尸进程信息在终端通过
ps axf
命令查看僵尸进程信息9.通过wait来清理僵尸进程。
10、父进程通过
waitpid
函数等待特定子进程结束,若该子进程不结束,父进程一直阻塞。