进程通信-共享内存机制(实验6)

本文介绍了Linux操作系统中关于进程通信的共享内存机制。实验内容包括理解并运用find和grep命令,创建并写入文件,使用find查找文件,以及编写程序实现使用shmget(), shmat(), shmdt(), shmctl()系统调用进行共享内存通信的SERVER和CLIENT子进程交互。" 102014296,8855110,Spark on YARN 内存溢出问题及解决方案,"['大数据', 'Spark', 'Hadoop', 'Java', '内存优化']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进程通信-共享内存机制

1.实验目的
① 了解和掌握linux操作系统的基本操作
② 了解并掌握进程通信中共享内存机制的工作原理
2.实验平台
操作系统:Linux
3.实验内容和要求
(一)操作实验任务
① 深度学习find和grep组合命令
② 在/tmp目录下建立文件file.txt。并写入字符串“I love os”到文件中。使用find组合命令,查找/tmp目录下的所有普通文件。
③ 查找/tmp目录下文件中有“os”字符串的文件名称。(提示采用find与grep组合使用)
(二)编程实验任务
① 编写一个程序,使用系统调用shmget(), shmat(), shmdt(), shmctl()实现进程通过共享内存的通信:一个子进程SERVER将共享内存首字节置为-1,当首字节值不为-1时读取这个值并再次将其置为-1;另一个子进程CLIENT在首字节为-1时将首字节置为9-0中的一个数字。(SHMKEY取值75,共享区的长度取1024)

实验内容如下
① 深度学习find和grep组合命令

grep的常用选项参数
常用选项参数 “-v” 反向筛选出不含指定关键字的行
常用选项参数 “-I” 将以忽略大小写的方式来筛选

  • 查找file.txt中含os字母的行,os无论大小写都能匹配并输出
grep -i os file.txt
  • 查找file.txt中含os小写字母的行,并输出
grep os file.txt
  • 查找file.txt中含OS大写字母的行,并输出
grep OS file.txt
  • 查找file.txt中不含os小写字母的行,并输出
grep -v os file.txt
  • 查找file.txt中不含OS大写字母的行,并输出
grep -v OS file.txt

find和grep的组合命令

  • 在当前目录下所有文件中查找内容包含 string 的文件:
find ./ -name "*" -exec grep "string" {
   } \;
  • 在当前目录下所有文件中查找内容包含 string 的文件并列出字符所在的文件:
find ./ -name "*" -exec grep -l "string" {
   } \;
  • 在当前目录下 *.c 中查找内容包含 string 的文件并列出字符所在的文件的所在行(不显示文件名):
find 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值