内容

名称

IPC::Msg - SysV Msg IPC 对象类

概要

use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR);
use IPC::Msg;

$msg = IPC::Msg->new(IPC_PRIVATE, S_IRUSR | S_IWUSR);

$msg->snd($msgtype, $msgdata);

$msg->rcv($buf, 256);

$ds = $msg->stat;

$msg->remove;

描述

一个提供基于对象的接口来访问 SysV IPC 消息队列的类。

方法

new ( KEY , FLAGS )

创建一个与 KEY 关联的新消息队列。如果满足以下条件,则会创建一个新队列:

  • KEY 等于 IPC_PRIVATE

  • KEY 尚未与任何消息队列关联,并且 FLAGS & IPC_CREAT 为真。

创建新的消息队列时,FLAGS 用于设置权限。请注意不要设置任何 Sys V IPC 实现不允许的标志:在某些系统中,设置执行位会导致操作失败。

id

返回系统消息队列标识符。

rcv ( BUF, LEN [, TYPE [, FLAGS ]] )

从队列中读取消息。返回读取的消息类型。参见 msgrcv(2)。BUF 变得被污染。

remove

从系统中删除并销毁消息队列。

set ( STAT )
set ( NAME => VALUE [, NAME => VALUE ...] )

set 将设置与消息队列关联的 stat 结构的以下值。

uid
gid
mode (oly the permission bits)
qbytes

set 接受 stat 方法返回的 stat 对象,或 name-value 对列表。

snd ( TYPE, MSG [, FLAGS ] )

将来自 MSG 的数据和类型 TYPE 的消息放置在队列中。参见 msgsnd(2).

stat

返回类型为 IPC::Msg::stat 的对象,它是 Class::Struct 的子类。它提供以下字段。有关这些字段的描述,请参见您的系统文档。

uid
gid
cuid
cgid
mode
qnum
qbytes
lspid
lrpid
stime
rtime
ctime

另请参见

IPC::SysVClass::Struct

作者

Graham Barr <[email protected]>,Marcus Holland-Moritz <[email protected]>

版权

版本 2.x,版权所有 (C) 2007-2013,Marcus Holland-Moritz。

版本 1.x,版权所有 (c) 1997,Graham Barr。

本程序是自由软件;您可以根据与 Perl 本身相同的条款重新发布和/或修改它。