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

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 函数
在线手册:中文  英文

用户评论:

tkuschel at loytec dot com (2012-07-05 20:40:45)

Following code will do the job:
<?php
$key 
0;
while (
true) {
  echo 
$key,"...\r";
  if (
msg_queue_exists($key))
   echo 
"\r",$key,'::Exists',"\n";
   
$key++;
}
?>

michael dot hajuu at gmail dot com (2011-03-09 05:01:49)

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 (2009-12-10 16:31:59)

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.

易百教程