#include
#include
#include
#include
#include
#include
int
main (int argc, char *argv[])
{
pid_t cpid;
int *data = NULL;
int fd;
fd = open ("/dev/zero", O_RDWR);
if (fd < 0) {
perror ("open /dev/zero");
exit(1);
}
data = (void *) mmap (0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if (data == MAP_FAILED) {
perror ("mmap");
exit(2);
}
*data = 0;
close (fd);
cpid = fork ();
if (cpid == 0)
{
for (;;)
{
sleep (1);
printf ("Child-0: %d\n", *data);
}
} else if (cpid > 0)
{
cpid = fork ();
if (cpid == 0)
{
for (;;)
{
sleep (1);
(*data)++;
printf ("Child-1: %d\n", *data);
}
} else if (cpid > 0)
{
for (;;)
{
sleep (1);
printf ("Parent-0: %d\n", *data);
}
}
}
munmap (data, 4096);
return 0;
}
关键词标签:进程共享,内存
相关阅读
热门文章
安装红帽子RedHat Linux9.0操作系统教程
Tomcat9.0如何安装_Tomcat9.0环境变量配置方法
多种操作系统NTP客户端配置
Linux操作系统修改IP
人气排行 Linux下获取CPUID、硬盘序列号与MAC地址 dmidecode命令查看内存型号 linux tc实现ip流量限制 安装红帽子RedHat Linux9.0操作系统教程 linux下解压rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 关机、重启、注销 命令 查看linux服务器硬盘IO读写负载
查看所有0条评论>>