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