python没有独立的库可以读取linux下的共享内存,下面使用ctypes调用系统的API读取共享内存的内容
使用C++创建共享内存
#include <stdio.h>
#include <iostream>
#include <unistd.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <stdlib.h>
#include <errno.h>
#define MY_SHM_ID 67483
void get_buf(char *buf)
{
int i=0;
while((buf[i]=getchar())!='\n'&&i<1024)
i++;
}
int main( )
{
printf("page size=%d\n", getpagesize());
int shmid=0, ret=0;
shmid = shmget(MY_SHM_ID, 4096, 0666|IPC_CREAT);
if (shmid > 0)
{
printf("Create a shared memory segment %d\n", shmid);
}
struct shmid_ds shmds;
ret = shmctl( shmid, IPC_STAT, &shmds );
if (ret == 0 )
{
printf( "Size of memory segment is %d \n", shmds.sh