Linu程序设计实验报告大作业

合集下载

浙江大学Linux程序设计实验报告

浙江大学Linux程序设计实验报告

Linux程序设计实验报告1——操作系统基本命令使用一、实验目的1.通过对Emacs、vi、vim、gedit文本编辑器的使用,掌握在Linux环境下文本文件的编辑方法;2.通过对常用命令mkdir、cp、cd、ls、mv、chmod、rm等文件命令的操作,掌握Linux操作系统中文件命令的用法。

二、实验任务与要求1.emacs的使用,要求能新建、编辑、保存一个文本文件2.vi或vim的使用,要求能新建、编辑、保存一个文本文件3.gedit的使用,要求能新建、编辑、保存一个文本文件4.掌握mkdir、cd命令的操作,要求能建立目录、进入与退出目录5.掌握cp、ls、mv、chmod、rm命令的操作,要求能拷贝文件、新建文件、查看文件、文件重命名、删除文件等操作。

三、实验工具与准备计算机PC机,Linux Redhat Fedora Core6操作系统四、实验步骤与操作指导任务1.学习emacs的使用,要求能新建、编辑、保存一个文本文件(1)启动emacs(2)输入以下C程序(3)保存文件为kk.c(4)用emacs打开文件kk.c(5)修改程序(6)另存为文件aa.txt并退出。

任务2.vi或vim的使用,要求能新建、编辑、保存一个文本文件(1)点击”应用程序”→ “附件”→“终端”,打开终端,在终端输入命令:[root@localhost root]#vi kk.c按i键,进入插入状态。

(2)输入以下C程序#include<stdio.h>int main( ){printf(“Hello world!\n”);return 0;}此时可以用Backspace、→、←、↑、↓键编辑文本。

(3)保存文件为kk.c按Esc键,进入最后行状态,在最后行状态输入:wq保存文件,退出vi。

(4)用vi打开文件kk.c,输入命令:[root@localhost root]#vi kk.c(5)修改程序为:#include<stdio.h>int main( ){printf(" Hello world!\n");printf("*****************\n");return 0;}(6)按Esc键,进入最后行状态,在最后行状态输入:wq aa.txt保存文件,如图1所示,另存为文件aa.txt并退出vi。

linux实验报告

linux实验报告

linux实验报告实验目的:通过对Linux操作系统的实践,掌握基本的Linux命令和操作方法,了解Linux操作系统的特点和优势。

实验一:Linux环境搭建在实验一中,我们首先需要搭建Linux操作系统的环境。

根据实验指导书的要求,我们选择了Ubuntu作为实验平台。

通过下载Ubuntu镜像文件,并利用虚拟机软件创建一个虚拟机,将镜像文件安装到虚拟机中。

在安装过程中,我们需要选择合适的分区和网络配置等,并设置root用户的密码。

实验二:基本命令的使用在实验二中,我们主要学习了Linux的基本命令的使用方法。

首先,我们了解了Linux文件系统的结构,包括根目录、用户目录、系统目录等。

然后,通过命令行终端进行一系列的实践操作,比如查看文件内容、创建目录、复制文件等。

这些命令的使用不仅提高了我们的工作效率,同时也增强了对Linux操作系统的理解。

实验三:软件安装与卸载实验三主要涉及到Linux的软件安装与卸载。

我们首先学习了使用APT工具进行软件包管理,通过安装命令行界面的方式安装了一些常用的软件,比如文本编辑器、终端工具等。

此外,我们还学习了如何卸载已安装的软件包,清理不需要的文件,以保持系统的整洁性。

实验四:权限管理在实验四中,我们学习了Linux的权限管理机制。

Linux操作系统采用了基于用户和组的权限模型,通过设置文件和目录的权限,实现对文件的读、写、执行的控制。

我们通过实际操作,创建了新的用户和组,并为不同的用户和组设置了不同的权限。

这样,可以有效地保护系统的文件和数据的安全性。

实验五:网络配置与服务搭建在实验五中,我们主要学习了Linux的网络配置和服务搭建。

通过设置网络接口、IP地址和网关等参数,实现了网络的正常连接。

同时,我们还学习了一些常用的网络命令,比如ping、ssh等。

此外,我们尝试搭建了一个简单的Web服务器,通过浏览器访问,可以查看服务器上的网页。

实验六:系统监控和故障恢复在实验六中,我们学习了Linux的系统监控和故障恢复方法。

linux编程实验报告

linux编程实验报告

linux编程实验报告篇一:Linux程序设计实验报告《Linux程序设计》实验报告安徽工业大学计算机学院XX年6月1实验一 Linux基本命令的使用1、实验目的学习和掌握Linux的基本命令。

2、实验内容和步骤步骤1:以user_login用户身份并使用telnet登录Linux服务器,按照提示创建自己的账户和口令。

步骤 2:使用新创建的用户账户和口令登录Linux系统,察看登录后的界面。

步骤3:使用pwd命令察看当前的工作目录,然后用ls 命令查看当前目录下的内容,尝试使用-a,-l,-F,-A,-lF等不同选项并比较不同之处。

步骤4:在当前目录下建立一个名为test的新目录,然后将工作目录切换到test下,尝试将/etc目录下的文件passwd拷贝到该目录下(cp 源文件目的目录)。

察看当前目录下的passwd文件的属主和文件权限。

2步骤5:尝试向当前目录下的passwd文件和/etc/passwd 文件分别写入一些新内容(可使用echo “字符串” >>文件的命令),看看操作能否成功,如果不能成功,请说明原因。

用cat命令浏览文件password的内容,用more命令进行浏览翻页操作,再用less命令浏览文件的内容。

比较这几个命令的不同之处步骤6:用ls命令查看test下文件的权限,用mv命令更改文件password的文件名为test.txt,尝试用chown和chgrp更改文件的属主为root、组为root,看看能否成功,不成功,请说明原因。

尝试用chomd将文件权限为“-rw-------”。

看看能否成功,不成功,请说明原因。

3步骤7:用rm命令删除test目录下的所有文件,再用rmdir命令删除test目录。

(想一想有没有一条命令将目录及目录下的所有文件删除,写出这条命令)步骤8:使用ps命令查看当前系统内的进程,并利用man命令获取ps命令的参数,写出获取当前终端进程执行情况的ps命令。

Linux程序的设计实验报告

Linux程序的设计实验报告

Linux程序的设计实验报告《Linux程序设计》实验指导书实验类别:课实验实验课程名称:Linux程序设计实验室名称:软件⼯程专业实验室实验课程编号: N03140112总学时:32 学分: 2适⽤专业:软件⼯程先修课程:Linux操作系统、C程序设计实验在教学培养计划中地位、作⽤:通过讲授Linux的操作使⽤、系统结构和Linux环境下的程序设计,使学⽣对Linux 操作系统获得⼀个全⾯的认识和掌握。

⼀⽅⾯,学⽣通过学习系统程序设计,能够复习操作系统中的基本概念,对⽂件管理、进程控制有更深⼊的理解;另⼀⽅⾯,学⽣学会在Linux 环境下⼯作,进⼀步熟悉C语⾔程序设计和数据结构的知识,编写进⾏系统维护的脚本⽂件和实⽤化的⼤型应⽤程序,如⽹络应⽤程序。

同时,本课程为学⽣进⼀步学习其它后续课程(如⾼级操作系统、Linux核源代码分析、嵌⼊式系统等)打下基础。

《Linux程序设计》实验⼤纲Linux Program Design课程类别:学科专业教育课程课程名称:Linux程序设计开课单位:软件学院课程编号:N03140112总学时:32 学分:2适⽤专业:软件⼯程先修课程:程序设计基础⼀、实验教学⽬标熟练掌握shell编程、熟练使⽤linux系统、掌握进程控制和进程间通信,学会编写⽹络程序,学会在linux环境中编写web程序。

养成⼀种良好的程序设计风格。

⼆、实验环境Linux三、实验教材及参考书:[1] 实验指导书(⾃编讲义)[2]《Linux环境C程序设计》徐诚⾼莹婷等清华⼤学2010.1[3]《linux⼊门到精通》忆智清华⼤学2010.1四、实验成绩评定⽅式根据学⽣在实验过程中的认真程度、上机结果验收情况以及实验报告撰写质量,进⾏综合评定。

五、实验项⽬及学时分配六、实验容及要求实验⼀ Linux基本命令的使⽤1、实验⽬的(1)学习和掌握Linux的基本命令(2)增强学⽣对Linux的学习兴趣2、实验容(1)linux的登录操作(2)常⽤基本命令的使⽤实验⼆ Shell程序设计1、实验⽬的(1).Shell程序设计中变量的使⽤;(2).理解通道的概念并初步掌握它的使⽤⽅法;(3).掌握算术操作、字符串操作、逻辑操作、⽂件操作;(4).掌握if then fi、if then elif fi、case、while、for等控制语句;(5).在shell脚本中使⽤函数;2、实验容(1).通过对shell程序的调试,理解变量$#,$0,$1,$2,$3,$@的含义;(2).Shell顺序程序设计;(3).Shell分⽀程序与多分⽀程序设计;(4).Shell循环程序设计。

linux程序设计大作业

linux程序设计大作业

linux程序设计大作业在计算机科学与技术领域,Linux操作系统一直以其稳定性、安全性和开放性而受到广泛关注和应用。

作为一名计算机专业的学生,我有幸参与了一门名为“Linux程序设计”的课程,并完成了这门课程的大作业。

这门课程的大作业要求我们设计并实现一个基于Linux操作系统的应用程序。

我们可以自由选择应用程序的功能和领域,但需要保证程序的稳定性和可扩展性。

经过深思熟虑,我决定设计一个名为“Linux 文件管理器”的应用程序。

Linux文件管理器是一个用于管理文件和目录的工具,它可以帮助用户方便地浏览、复制、移动、删除和重命名文件和目录。

在设计这个应用程序时,我考虑到了用户的使用习惯和需求,力求提供简洁、直观和高效的操作界面。

首先,我使用C语言编写了程序的核心功能。

通过调用Linux系统提供的文件操作函数,我实现了文件和目录的创建、打开、读写、关闭等基本操作。

同时,我还实现了文件和目录的复制、移动、删除和重命名功能,以及文件和目录的属性查看和修改功能。

这些功能的实现基于Linux系统的文件系统结构和权限管理机制,保证了程序的安全性和可靠性。

其次,我设计了一个简洁而直观的用户界面。

通过使用Linux系统提供的图形界面库GTK+,我创建了一个包含菜单栏、工具栏和文件列表的主窗口。

用户可以通过菜单栏和工具栏选择不同的操作,而文件列表则显示当前目录下的文件和目录。

用户可以通过鼠标点击和键盘操作来选择文件和目录,并进行相应的操作。

同时,我还为用户提供了快捷键和上下文菜单等功能,以提高操作的效率和便捷性。

最后,我进行了大量的测试和优化工作,确保程序的稳定性和性能。

我编写了各种测试用例,模拟了不同的使用场景和操作方式,以验证程序的正确性和健壮性。

同时,我还对程序进行了性能优化,减少了不必要的系统调用和资源占用,提高了程序的运行效率和响应速度。

通过这个大作业的设计与实现,我不仅深入理解了Linux操作系统的原理和机制,还提高了自己的编程能力和问题解决能力。

linux实验报告1

linux实验报告1

linux实验报告1《Linux 实验报告 1》一、实验目的本次 Linux 实验的主要目的是让我们熟悉 Linux 操作系统的基本操作和常用命令,了解其文件系统结构,并能够在终端环境下进行一些简单的任务处理。

二、实验环境本次实验使用的是虚拟机软件 VirtualBox 中安装的 Ubuntu 2004LTS 操作系统。

三、实验内容及步骤(一)用户登录与系统信息查看1、打开虚拟机,进入 Ubuntu 系统登录界面,输入用户名和密码登录。

2、在终端中输入命令“uname a”查看系统内核信息,包括操作系统类型、内核版本等。

3、输入“lsb_release a”命令查看系统的发行版信息,如发行版名称、版本号等。

(二)文件和目录操作1、使用“cd”命令切换到不同的目录,如“cd /home”切换到用户主目录,“cd /etc”切换到系统配置目录等。

2、使用“ls”命令列出当前目录下的文件和子目录,结合“l”选项查看详细信息,包括文件权限、所有者、大小、修改时间等。

3、创建新目录,使用“mkdir testdir”命令在当前目录下创建一个名为“testdir”的目录。

4、在新创建的目录中创建一个文本文件,使用“touch testfiletxt”命令创建一个空的文本文件。

5、使用“cat”命令查看文本文件的内容,由于文件为空,此时没有输出。

6、使用“vi”或“nano”编辑器编辑文本文件,输入一些内容后保存退出。

7、使用“cp”命令复制文件,如“cp testfiletxt testfile_copytxt”复制文件并命名为“testfile_copytxt”。

8、使用“mv”命令移动文件,将“testfile_copytxt”移动到其他目录。

9、使用“rm”命令删除文件和目录,注意删除目录时需要使用“r”选项,如“rm r testdir”删除“testdir”目录及其包含的所有文件。

(三)文件权限管理1、使用“ls l”命令查看文件的权限信息,了解权限的表示方式,如“rwrr”等。

linux实验系统实验报告

linux实验系统实验报告

linux实验系统实验报告Linux实验系统实验报告一、引言Linux实验系统是一个基于Linux操作系统的实验平台,旨在提供一个实践学习的环境,帮助学生深入了解Linux操作系统的原理和应用。

本实验报告旨在总结和分析我在使用Linux实验系统进行实验时的经验和收获。

二、实验环境1. 硬件环境:我使用的是一台配备Intel Core i5处理器和8GB内存的个人电脑。

2. 软件环境:我下载并安装了Linux实验系统的最新版本,该版本基于Ubuntu操作系统,并预装了一系列常用的开发工具和软件包。

三、实验内容1. 实验一:Linux基础命令的使用在这个实验中,我通过终端窗口使用了一些常用的Linux命令,如ls、cd、mkdir、rm等。

通过实际操作,我熟悉了Linux文件系统的结构和基本操作,掌握了如何在Linux中创建、删除和移动文件夹,以及如何查看文件和文件夹的属性。

2. 实验二:Shell脚本编程这个实验要求我们使用Shell脚本编写一个简单的程序,实现对指定文件夹中所有文件进行备份的功能。

通过这个实验,我学会了如何使用Shell编程语言,掌握了一些基本的语法和命令,比如if语句、for循环和cp命令。

我还学会了如何将Shell脚本保存为可执行文件,并在终端中运行。

3. 实验三:网络配置与管理这个实验主要涉及Linux系统的网络配置和管理。

我学会了如何配置网络接口,包括设置IP地址、子网掩码和网关。

我还学会了如何使用ping命令测试网络连接,以及如何使用ifconfig命令查看和管理网络接口的状态。

通过这个实验,我对Linux系统的网络配置有了更深入的了解。

四、实验收获通过使用Linux实验系统进行实验,我获得了以下收获:1. 对Linux操作系统有了更深入的了解:通过实际操作,我对Linux操作系统的基本原理和文件系统有了更深入的了解。

我学会了如何在Linux中进行文件和文件夹的管理,以及如何使用命令行界面进行各种操作。

【设计】linux程序设计实验报告6

【设计】linux程序设计实验报告6

【关键字】设计linux程序设计实验报告6篇一:Linux上Shell程序设计实验报告深圳大学实验报告课程名称:学院:计算机与软件学院实验时间:实验报告提交时间:教务处制一、实验目标:1. 熟悉vi编辑器的使用2. 掌握简单的Shell编程2.1. 掌握Shell变量的使用2.2. 掌握Shell表达式的使用2.3. 掌握Shell流程控制语句的使用3. 熟悉Shell程序的执行和跟踪二、实验环境与工件湖边Linux实验室Fedora 13三、实验内容与步骤1. 下面哪个命令会实现将变量VAR1和VAR2相加,并且值存入变量VAR3的功能?( D )(5分)[ $VAR3 = $VAR1 + $VAR2 ]$VAR3 = [ $VAR1 + $VAR2 ]$VAR3 = (( VAR1 + VAR2 ))(( VAR3 = VAR1 + VAR2 ))2. 以下程序的输出是?(D )(5分)#!/usr/bin/shA=1while [ $A -lt 10 ]doB=1while [ $B -lt 10 ]dobreak 2echo "Inner loop"doneecho "Outer loop"doneA. “Inner loop” 将被打印10次B. “Outer loop” 将被打印10次.C. “Outer loop” 将被打印10次.D. 什么都没有被打印.3. 请在vi中逐一编辑,修正(如果有误)并执行以下10个shell脚本程序,然后结合所学知识和程序的输出理解各程序中各语句的含义,对各小题附上结果截图。

(每小题5分)3.1. 编写一个简单的回显用户名的shell程序。

#!/bin/bash#filename:dateecho "Mr.$USER,Today is:"echo 'date'echo Whish you a lucky day!3.2.使用if-then语句创建简单的shell程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告
课程名称: LINUX程序设计
学院:计算机学院
专业:软件工程班级: 14-3 姓名:张正锟学号: 201401061038
2017年 1月1日
山东科技大学教务处制
实验报告
一、实验目的
熟悉并掌握Linux操作系统基本命令
二、常用的普通命令
1.了解系统的uname,date,w命令
2.了解文件的ls和file命令
3.cat,less,head,tail,nl,wc等命令的使用
4.文本内容查找grep 命令
5.文件权限的修改chmod,chown,umask
6.文件夹操作:mkdir,rmdir
三、用户和组的管理管理
1.探究用户配置文件/etc/passwd, /etc/shadow
/etc/passwd是用户数据库,其中的域给出了用户名、加密口令和用户的其他信息. /etc/shadow是在安装了影子(shadow)口令软件的系统上的影子口令文件。

影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow中,而后者只对超级用户( r o o t )可读。

这使破译口令更困难,以此增加系统的安全性。

2.探究组配置文件组的配置文件/etc/group, /etc/gshadow
3.id, who, whoami,groups等命令
四、文件打包与压缩
1.tar压缩和解压
五、软件包管理
1.安装软件tree
2.卸载软件tree
六、进程管理
1.top命令动态显示进程状态
2.ps命令显示瞬时进程状态
3.Kill命令终止一个进程
用gedit打开一个文件a.cpp并在后台运行,显示的进程号为17271,然后用kill命令杀死这个进程,观察到gedit关闭
七、实验总结
通过本次实验,熟悉了好多Linux下面的基本命令,可以看出Linux的命令基本上都有好多参数可选,这样就可以用一条命令完成好多任务,大大提高效率。

另外还学会了当命令不会使用的时候,可以调用man来查看命令的使用方法。

实验报告
一、实验目的
➢掌握Shell命行的运行
➢掌握编写和执行Shell程序的步骤
➢掌握在Shell中使用参数和使用变量的方法
➢掌握表达式比较,循环结构语句和条件结构语句的写法➢掌握在shell脚本中使用函数的方法
二、简单bash脚本
1.编写bash脚本
2.添加执行权限
3.运行结果
三、计算器:变量读入和输出
1.编辑程序
2.添加可执行权限
3.运行程序
四、比较两个数字是否相等
1.编写程序
2.添加可执行权限
五、循环计算累加和
1.编写程序
2.添加可执行权限
3.运行程序
六、利用shell函数计算两数之和
1.编写程序
2.添加可执行权限
七、计算数组累乘
1.编写程序
2.添加可执行权限
3.运行程序
八、实验总结
通过本次实验,我学会了shell中的各种写法,包括流程控制,循环,数组,函数等等,了解到shell在Linux是一种强大的神器,可以批量完成各种操作。

实验报告
一、实验目标
1.熟悉cd、date、pwd、cal、who、echo、clear、passwd等常用命令。

2.掌握在用户主目录下对文件进行的操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等。

3.学会对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等。

二、文件操作:修改文件权限
设计一个程序,要求把系统中“/etc”目录下的passwd文件权限,设置成文件所有者可读可写,所有其他用户为只读权限。

1.编写C语言程序
2.编译执行
3.查看结果
三、从终端读写数据
文件的打开可以用open函数,即使原来的文件不存在,也可以用open函数创建文件。

在打开或者创建文件时,可以指定文件的属性及用户的权限等参数。

关闭一个打开的文件,用close函数。

当一个进程终止时,它所有已打开的文件都由内核自动关闭。

1.编写C语言程序
2.查看运行结果
四、文件上锁和锁的释放
1. 题目要求
设计一个程序,要求在“/root”下打开一个名为“5-11file”的文件,如果该文件不存在,则创建此文件。

打开后对其加上强制性的写入锁F_WRLCK,按回车后解锁F_UNLCK,然后加上读出锁F_RDLCK,按回车后再解锁F_UNLCK。

程序在终端1运行后会显示程序的进程号,再打开终端2,会提示此文件处于锁定状态,此时在终端2可以多按回车,观察程序的运行结果。

然后在终端1按回车,等待终端1解锁后,在终端2才可锁定此文件,你可观察到强制性锁是独占状态,当在终端2解锁后,在终端1或2可加读出锁,在读出锁状态终端1或2的运行不需要等待,因为读出锁是处于共享状态,请编写程序并测试程序运行的结果。

2.分析
主程序先用open函数打开文件“5-11file”,如果该文件不存在,则创建此文件;接着调用自定义函数lock_set:先传递参数“F_WRLCK”给文件“5-11file”加锁,并打印输出给文件加锁进程的进程号,然后先传递参数“F_UNLCK”给文件“5-11file”解锁,并打印输出给文件解锁进程的进程号;在自定义函数lock_set给文件上锁语句前,加上判断文件是否上锁的语句,如果文件已经被上锁,打印输出给文件上锁进程的进程号。

3.编写C语言程序
4.执行程序
终端1:
加上写入锁的是: 5403
释放强制性锁: 5403
文件已加上写入锁,其进程号是: 5404
文件已加上写入锁,其进程号是: 5404
文件已加上写入锁,其进程号是: 5404
加上读取锁的是: 5403
释放强制性锁: 5403
终端2:
文件已加上写入锁,其进程号是: 5403
文件已加上写入锁,其进程号是: 5403
文件已加上写入锁,其进程号是: 5403
加上写入锁的是: 5404
释放强制性锁: 5404
加上读取锁的是: 5404
释放强制性锁: 5404
五、流文件的打开和关闭
带缓存的流文件I/O操作,是基于输入/输出(I/O)流机制的文件操作,又做文件流(File Stream)的操作。

下面具体说明文件流的关闭与打开。

1.题目要求
设计一个程序,要求用流文件I/O操作打开文件“5-12file”,如果该文件不存在,则创建此文件。

2.题目分析
带缓存的基于输入/输出(I/O)流机制的文件操作时,打开文件用fopen函数,关闭文件用fclose函数。

3.程序编写
4.运行结果
可以看到程序运行后创建了”5-12file”文件
六、实验总结
通过本次实验,我掌握了Linux下用C语言读写文件的方法,包括带缓存和不带缓存的方法。

另外也学会了用C语言修改文件权限等知识点。

可以看出Linux和C 语言是浑然一体地,可以用C语言无缝地操作Linux系统。

实验报告
在Linux中进程标识有进程号(PID)和它的父进程号(PPID)。

其中,PID唯一地标识一个进程。

PID和PPID都是非零的正整数。

在Linux中获得当前进程的PID 和PPID的系统调用为getpid和getppid函数。

1.程序编写
2.编译运行
可看到,每次运行的pid都是不同的。

四、子进程的创建
进程调用fork函数创建一个新进程,由fork创建的新进程被称为子进程(child process)。

该函数被调用一次,但返回两次,两次返回的区别是子进程的返回值是0,而父进程的返回值则是新子进程的进程PID。

子进程和父进程继续执行fork之后的指令。

子进程是父进程的复制品。

例如,子进程获得父进程数据空间、堆和栈的复制品。

注意,这是子进程所拥有的拷贝。

父、子进程并不共享这些存储空间部分,通常父、子进程共享代码段
1.编写C语言程序
2.运行程序
五、进程的退出
1.题目要求
设计一个程序,要求子进程和父进程都在显示输出一些文字后分别用exit和_exit函数终止进程。

2.题目分析
由于printf函数使用的是缓冲I/O方式,遇到”\n”时自动将数据从缓冲区读出。

可以看出,调用exit函数时,缓冲区中的记录能正常输出;而调用_exit时,缓冲区中的记录无法输出。

Linux标准函数库中,有一种操作称为“缓冲I/O”,每次读写文件时,都是在缓冲区里读取、写入。

写入文件时,等满足一定条件才将缓冲区的内容一次性写入文件。

但是,有时没有满足选定的条件,数据只存在缓冲区内,如果这时调用_exit函数直接关闭进程,缓冲区中的数据就会丢失。

3.程序编写
4.程序执行
可以看到,程序只在父进程进行了输出。

这是因为子进程调用了_exit()函数,没有进行缓冲区IO的刷新。

六、实验总结
通过本次试验,我了解了Linux的进程机制,学会了基本的进程创建,进程终止,学会了在Linux下用C语言操作进程。

了解到了Linux是一个多任务操作系统,允许我们使用计算机系统,多个进程并发执行。

实验报告
3.程序执行
实验报告。

相关文档
最新文档