Tutorials Point


  Perl Home

  PERL Functions

© 2011 TutorialsPoint.COM


  Home     References     About TP     Advertising  

PERL shmget Function



Syntax

shmget KEY, SIZE, FLAGS

shmget KEY


Definition and Usage

Returns the shared memory segment ID for the segment matching KEY. A new shared memory segment is created of at least SIZE bytes, providing that either KEY does not already have a segment associated with it or that KEY is equal to the constant IPC_PRIVATE.

Return Value

  • undef on failure

  • Shared memory ID

Example

Try out following example:

#!/usr/bin/perl

# Assume this file name is  writer.pl

use IPC::SysV;

#use these next two lines if the previous use fails.
eval 'sub IPC_CREAT {0001000}' unless defined &IPC_CREAT;
eval 'sub IPC_RMID {0}'        unless defined &IPC_RMID;

$key  = 12345
$size = 80;
$message = "Pennyfarthingale.";

# Create the shared memory segment

$key = shmget($key, $size, &IPC_CREAT | 0777 ) or 
			die "Can't shmget: $!";

# Place a string in itl
shmwrite( $id, $message, 0, 80 ) or die "Can't shmwrite: $!";


sleep 20;

# Delete it;

shmctl( $id, &OPC_RMID, 0 ) or die "Can't shmctl: $! ";

Write a reader program which retrieves the memory segment corresponding to $key and reads its contents using shmread();.

#!/usr/bin/perl

# Assume this file name is reader.pl

$key = 12345;
$size = 80;

# Identify the shared memory segment
$id = shmget( $key, $size, 0777 ) or die "Can't shmget: $!";

# Read its contents itno a string
shmread($id, $var, 0, $size) or die "Can't shmread: $!";

print $var;

Now First run writer.pl program in background and then reader.pl then it will produces following result.

$perl writer.pl&
$perl reader.pl

Pennyfrathingale


Printer Friendly



  

Advertisement

Online Image Processing

Indian Baby Names