IPC::Semaphore - SysV Semaphore IPC 物件類別
use IPC::SysV qw(IPC_PRIVATE S_IRUSR S_IWUSR IPC_CREAT);
use IPC::Semaphore;
$sem = IPC::Semaphore->new(IPC_PRIVATE, 10, S_IRUSR | S_IWUSR | IPC_CREAT);
$sem->setall( (0) x 10);
@sem = $sem->getall;
$ncnt = $sem->getncnt;
$zcnt = $sem->getzcnt;
$ds = $sem->stat;
$sem->remove;
提供一個以物件為基礎的介面,來存取 SysV IPC 資源鎖。
建立一個新的資源鎖組,與 KEY
相關聯。NSEMS
是組中資源鎖的數量。如果符合下列條件,就會建立一個新的組:
KEY
等於 IPC_PRIVATE
KEY
尚未有相關聯的資源鎖識別碼,而且 FLAGS & IPC_CREAT
為 true。
在建立新的資源鎖組時,FLAGS
會用來設定權限。請小心不要設定 Sys V IPC 實作不允許的任何旗標:在某些系統中,設定執行位元會導致操作失敗。
以陣列的形式傳回資源鎖組的值。
傳回等待 semaphore SEM
大於目前值的程序數量
傳回對 semaphore SEM
執行操作的最後一個程序的程序識別碼。
傳回 semaphore SEM
的目前值。
傳回等待 semaphore SEM
變成零的程序數量。
傳回 semaphore 組的系統識別碼。
OPLIST
是傳遞給 semop
的操作清單。OPLIST
是較小清單的串接,每個清單有三個值。第一個是 semaphore 號碼,第二個是操作,最後一個是旗標值。請參閱 semop(2) 以取得更多詳細資料。例如
$sem->op(
0, -1, IPC_NOWAIT,
1, 1, IPC_NOWAIT
);
從系統中移除並銷毀 semaphore 組。
set
會設定與 semaphore 組相關聯的 stat
結構的下列值。
uid
gid
mode (only the permission bits)
set
接受 stat
方法傳回的 stat 物件,或 名稱-值 配對清單。
將 semaphore 組中的所有值設定為 VALUES
清單上指定的那些值。VALUES
必須包含正確數量的值。
將 semaphore 組中的第 N
個值設定為 VALUE
傳回類型為 IPC::Semaphore::stat
的物件,它是 Class::Struct
的子類別。它提供下列欄位。有關這些欄位的說明,請參閱系統文件。
uid
gid
cuid
cgid
mode
ctime
otime
nsems
IPC::SysV、Class::Struct、semget(2)、semctl(2)、semop(2)
Graham Barr <gbarr@pobox.com>、Marcus Holland-Moritz <mhx@cpan.org>
版本 2.x,版權所有 (C) 2007-2013,Marcus Holland-Moritz。
版本 1.x,版權所有 (c) 1997,Graham Barr。
這個程式是自由軟體;您可以在與 Perl 本身相同的條款下重新散布或修改它。