perldoc > IPC::Semaphore

📛 NAME

IPC::Semaphore - SysV Semaphore IPC object class

🚀 Quick Reference

Use CaseCommandDescription
Create semaphore set$sem = IPC::Semaphore->new($key, $nsems, $flags)Create a set with a key, number of semaphores, and access flags
Get all values@values = $sem->getallReturn all semaphore values as an array
Get wait count (increase)$ncnt = $sem->getncnt($sem_num)Number of processes waiting for semaphore to become greater
Get PID of last operation$pid = $sem->getpid($sem_num)PID of last process that performed an operation on the semaphore
Get current value$val = $sem->getval($sem_num)Current value of a specific semaphore
Get wait count (zero)$zcnt = $sem->getzcnt($sem_num)Number of processes waiting for semaphore to become zero
Perform operations$sem->op(@oplist)Pass a list of semaphore operations (number, operation, flags)
Set all values$sem->setall(@values)Set every semaphore in the set at once
Set a single value$sem->setval($n, $value)Set the value of semaphore N
Get stat object$ds = $sem->statReturn an object with uid, gid, mode, etc.
Remove semaphore set$sem->removeDestroy and remove the semaphore set from the system

🔖 SYNOPSIS

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;

📖 DESCRIPTION

A class providing an object based interface to SysV IPC semaphores.

🛠️ METHODS

🔗 SEE ALSO

IPC::SysV, Class::Struct, semget(2), semctl(2), semop(2)

✍️ AUTHORS

Graham Barr <gbarr AT pobox.com>, Marcus Holland-Moritz <mhx AT cpan.org>

© COPYRIGHT

Version 2.x, Copyright (C) 2007-2013, Marcus Holland-Moritz.
Version 1.x, Copyright (c) 1997, Graham Barr.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

IPC::Semaphore
📛 NAME 🚀 Quick Reference 🔖 SYNOPSIS 📖 DESCRIPTION 🛠️ METHODS 🔗 SEE ALSO ✍️ AUTHORS © COPYRIGHT

Generated by phpman v4.9.27 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-07-18 10:43 @216.73.216.114
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!
Enhanced by LLM: deepseek-v4-flash / taotoken.net / www.chedong.com - original format

^_top_^