Linux实验报告4 - C语言编程

目录

一、实验目的 

二、实验原理

三、实验步骤、数据记录及处理

1、用C语言编程,打开/etc/passwd文件,找出已经注册的普通用户账号 

2、  用C语言实现多进程编程,主进程每隔1秒获取当前系统时间写入某文件,子进程打开该文件,读取文件的内容并显示在屏幕上。

一、实验目的 

熟悉掌握Linux基本命令,熟悉VI编辑器的使用方法,练习Linux环境下的用户、分组管理,熟悉掌握Shell脚本编程。

二、实验原理

1,首先打开/etc/passwd文件,逐行读取文件内容,对于每一行内容,找到其中的UID,判断是否在500~65534的范围内,是的话就输出其用户名,然后关闭即可。

2,一个程序文件, 只是一堆待执行的代码和部分待处理的数据,它们只有被加载到内存中,然后让CPU逐条执行其代码,根据代码做出相应的动作,才形成一个真正“活的”、动态的进程(Process)。

进程号 PID (process ID)(类型pid_t , 什么什么_t 都是正整数);

每个任务拥有唯一ID, 由操作系统管理和分配;

每个进程创建会分配一个ID , 结束会取消一个ID;

调用fork函数时,复制父进程的进程空间来创建子进程;

wait函数等待子进程的结束信号;

waitpid 函数,可以选择等指定哪个子进程 , 还可以选择等待方式(可以选择堵塞、不堵塞);

使用vfork堵塞父进程, 抢了资源, 但是使用exec后, 子进程替换了内容, 便不抢占资源了,父进程继续执行,不用等子进程。

三、实验步骤、数据记录及处理

1、用C语言编程,打开/etc/passwd文件,找出已经注册的普通用户账号 

2、  用C语言实现多进程编程,主进程每隔1秒获取当前系统时间写入某文件,子进程打开该文件,读取文件的内容并显示在屏幕上。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值