Facebook
From Abrupt Hornbill, 5 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 179
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <unistd.h>
  5. #include <sys/ipc.h>
  6. #include <sys/shm.h>
  7. #define PROJECTID 0xABCDEF
  8. int main( void )
  9. {
  10.   key_t key;
  11.   int id,size,flag;
  12.   struct shmid_ds buffer;
  13.   key = ftok( "/tmp",PROJECTID );
  14.   flag = IPC_CREAT | 0x100 | 0x80;
  15.   size = 1024*64;
  16.   id = shmget( key,size,flag );
  17.   if( id>0 )
  18.     {
  19.     printf( "SEGMENT [key=0x%x,id=%u],process=%u\n", id,(unsigned)key,(unsigned)getpid() );
  20.     (void)shmctl( id,IPC_STAT,&buffer );
  21.     printf( "właściciel %u\n",(unsigned)(buffer.shm_cpid) );
  22.     printf( "rozmiar %u [B]\n",(unsigned)(buffer.shm_segsz) );
  23.     printf( "%s\n",ctime( &(buffer.shm_ctime) ) );
  24.     (void)shmctl( id,IPC_RMID,&buffer );
  25.     }
  26.   else{ perror( "!.!.!..shmget()..." ); exit( 1 ); }
  27.   return 0;
  28. }