Perl 中的 shmread函数

首页 / Perl入门教程 / Perl 中的 shmread函数

描述

此功能将共享内存段ID读取到位置POS的标量VAR中,最多SIZE个字节。

语法

以下是此函数的简单语法-

shmread ID, VAR, POS, SIZE

返回值

如果失败,此函数返回0,如果成功,则返回1。

以下是显示其基本用法的示例代码-

无涯教程网

#!/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: $! ";

编写一个读取程序,该程序检索与$key相对应的内存段,并使用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;

现在,首先在后台运行writer.pl程序,然后在reader.pl中运行,它将产生以下输出。

链接:https://www.learnfk.comhttps://www.learnfk.com/perl/perl-shmread.html

来源:LearnFk无涯教程网

$perl writer.pl&
$perl reader.pl

Pennyfrathingale

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

性能工程高手课 -〔庄振运〕

Java业务开发常见错误100例 -〔朱晔〕

技术面试官识人手册 -〔熊燚(四火)〕

数据分析思维课 -〔郭炜〕

大数据经典论文解读 -〔徐文浩〕

快手 · 音视频技术入门课 -〔刘歧〕

高并发系统实战课 -〔徐长龙〕

Rust 语言从入门到实战 -〔唐刚〕

给程序员的写作课 -〔高磊〕

好记忆不如烂笔头。留下您的足迹吧 :)