內容

名稱

IPC::SysV - System V IPC 常數和系統呼叫

語法

use IPC::SysV qw(IPC_STAT IPC_PRIVATE);

說明

IPC::SysV 定義並有條件地匯出系統包含檔中定義的所有常數,這些常數是 SysV IPC 呼叫所需的。常見的包含

IPC_CREAT IPC_EXCL IPC_NOWAIT IPC_PRIVATE IPC_RMID IPC_SET IPC_STAT
GETVAL SETVAL GETPID GETNCNT GETZCNT GETALL SETALL
SEM_A SEM_R SEM_UNDO
SHM_RDONLY SHM_RND SHMLBA

和輔助的

S_IRUSR S_IWUSR S_IRWXU
S_IRGRP S_IWGRP S_IRWXG
S_IROTH S_IWOTH S_IRWXO

但您的系統可能會有更多。

ftok( PATH )
ftok( PATH, ID )

傳回一個基於 PATH 和 ID 的金鑰,可用於作為 msggetsemgetshmget 的金鑰。請參閱 ftok(3)

如果省略 ID,則預設為 1。如果為 ID 指定一個單一字元,則會使用該字元的數字值。

shmat( ID, ADDR, FLAG )

將由 ID 識別的共用記憶體區段附加到呼叫程序的位址空間。請參閱 shmat(2)

除非您真的知道自己在做什麼,否則 ADDR 應為 undef

shmdt( ADDR )

從呼叫程序的位址空間中分離位於 ADDR 指定的位址處的共用記憶體區段。請參閱 shmdt(2)

memread( ADDR, VAR, POS, SIZE )

從 ADDR 處的記憶體區段中,從位置 POS 開始讀取 SIZE 位元組。VAR 必須是一個變數,用於儲存讀取的資料。如果成功,則傳回 true,如果發生錯誤,則傳回 false。memread() 會污染變數。

memwrite( ADDR, STRING, POS, SIZE )

將 STRING 中的 SIZE 位元組寫入 ADDR 處的記憶體區段,從位置 POS 開始。如果 STRING 太長,則只會使用 SIZE 位元組;如果 STRING 太短,則會寫入 null 來填滿 SIZE 位元組。如果成功,則傳回 true,如果發生錯誤,則傳回 false。

另請參閱

IPC::MsgIPC::SemaphoreIPC::SharedMemftok(3)shmat(2)shmdt(2)

作者

Graham Barr <gbarr@pobox.com>、Jarkko Hietaniemi <jhi@iki.fi>、Marcus Holland-Moritz <mhx@cpan.org>

版權

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

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

此程式為自由軟體;您可以在與 Perl 相同的條款下重新散布或修改它。