共享内存实例
来源:互联网 发布:淘宝虚拟代理挣钱吗 编辑:程序博客网 时间:2024/06/05 20:01
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <string.h>
#define MEMSIZE 1024
int main()
{
int shmid;
pid_t pid;
char *ptr;
shmid=shmget(IPC_PRIVATE,MEMSIZE,0600);
if(shmid<0)
{
perror("shmget()");
exit(1);
}
pid=fork();
if(pid<0)
{
perror("fork()");
exit(1);
}
if(pid==0)
{
ptr=shmat(shmid,NULL,0);
if(ptr==(void*)-1)
{
perror("shmat()");
exit(1);
}
strcpy(ptr,"hello\n");
shmdt(ptr);
exit(0);
}
else
{
wait(NULL);
ptr=shmat(shmid,NULL,0);
if(ptr==(void*)-1)
{
perror("shmat()");
exit(1);
}
puts("aaa\n");
puts(ptr);
shmdt(ptr);
shmctl(shmid,IPC_RMID,NULL);
exit(0);
}
exit(0);
}
#include <stdlib.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <string.h>
#define MEMSIZE 1024
int main()
{
int shmid;
pid_t pid;
char *ptr;
shmid=shmget(IPC_PRIVATE,MEMSIZE,0600);
if(shmid<0)
{
perror("shmget()");
exit(1);
}
pid=fork();
if(pid<0)
{
perror("fork()");
exit(1);
}
if(pid==0)
{
ptr=shmat(shmid,NULL,0);
if(ptr==(void*)-1)
{
perror("shmat()");
exit(1);
}
strcpy(ptr,"hello\n");
shmdt(ptr);
exit(0);
}
else
{
wait(NULL);
ptr=shmat(shmid,NULL,0);
if(ptr==(void*)-1)
{
perror("shmat()");
exit(1);
}
puts("aaa\n");
puts(ptr);
shmdt(ptr);
shmctl(shmid,IPC_RMID,NULL);
exit(0);
}
exit(0);
}
阅读全文
0 0
- 共享内存实例 :
- 共享内存+信号量 实例
- 共享内存+信号量 实例
- 共享内存实例
- 共享内存实例
- linux共享内存使用实例
- Linux共享内存编程实例
- c++共享内存操作实例
- Linux共享内存编程实例
- Linux共享内存编程实例
- Linux共享内存编程实例
- Linux共享内存编程实例
- Linux共享内存编程实例
- Linux共享内存编程实例
- Linux共享内存编程实例
- Linux共享内存编程实例
- c++共享内存的实例
- win32共享内存简单实例
- JavaScript数组的基本操作
- 做为一个网络销售主管。认为自己需要什么样的品质。
- activemq的使用(四)
- Highcharts动态实现柱形图
- Hibernate配置
- 共享内存实例
- 子数整数(P1151&NOIP水题测试(2017082301))
- Linux初窥:常用命令之(文件压缩与挂载)
- HTML页面的加载顺序
- 第三场训练赛总结
- linux后台进程的查看和终止
- HDU 1853 Cyclic Tour(二分图最优匹配:有向环覆盖)
- MyBatis 一级和二级缓存
- [Linux]--进程间通信