进程通信-共享内存机制
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 ./ -

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





