Semaphore 函数
在线手册:中文 英文
PHP手册

msg_queue_exists

(PHP 5 >= 5.3.0)

msg_queue_existsCheck whether a message queue exists

说明

bool msg_queue_exists ( int $key )

Checks whether the message queue key exists.

参数

key

Queue key.

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE.

参见


Semaphore 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Check whether a message queue exists

用户评论:

michael dot hajuu at gmail dot com (09-Mar-2011 01:01)

A simple script for checking what message queues are in use on a [presumably new] server environment.

Run with php-cli

<?php
$k
= 0;
while (
true) {
  echo
$key,"...\r";
  if (
msg_queue_exists($key))
   echo
"\r",$key,'::Exists',"\n";
  
$key++;
}
?>

jaredm (11-Dec-2009 12:31)

A workaround for those not yet running 5.3 on *nix:

<?php
function queue_exists($key) {
    if(
function_exists("msg_queue_exists")) {
        return
msg_queue_exists($key);
    } else {
       
$aQueues = array();
       
exec("ipcs -q | grep \"^[0-9]\" | cut -d \" \" -f 1", $aQueues);
        if(
in_array($key,$aQueues)) return true;
        else return
false;
    }
}
?>

Maybe a bit slow and kludgey, but it works.