phpメッセージキュー
4228 ワード
このメッセージキューはlinuxでのプロセス通信に使用されます.
# id
$key = ftok(__DIR__, 'R');
#
$q = msg_get_queue($key);
#
msg_remove_queue($q);
#
$status = msg_stat_queue($q);
print_r($status);
echo "
";
for($i=0;$i<100;$i++)
{
/**
*
* resource $queue , int $msgtype , mixed $message [, bool $serialize = true [, bool $blocking = true [, int &$errorcode ]]]
* $msgtype :
* $message :
* $serialize:
* $blocking: , , , MSG_EAGAIN
*/
$flag = msg_send($q, 111, array('a'=>1), true, false , $errorcode);
var_dump($errorcode);
}
/**
resource $queue , int $desiredmsgtype , int &$msgtype , int $maxsize , mixed &$message [, bool $unserialize = true [, int $flags = 0 [, int &$errorcode ]]]
$desiredmsgtype:0 , bigger 0:
$maxsize: , 》
$msgtype: , $desiredmsgtype , 0
$flags:MSG_IPC_NOWAIT ( ), MSG_EXCEPT MSG_NOERROR
*/
$data = msg_receive($q, 0, $type, 200, $msg);
var_dump($data);
echo "
";
var_dump($type);
echo "
";
var_dump($msg);
echo "
";
キューステータス情報キューステータスジョウホウ:詳細リファレンスマニュアル
Array(
[msg_perm.uid] => 1015
[msg_perm.gid] => 100
[msg_perm.mode] => 438
[msg_stime] => 0
[msg_rtime] => 0
[msg_ctime] => 1411830331
[msg_qnum] => 0
[msg_qbytes] => 65536
[msg_lspid] => 0
[msg_lrpid] => 0
)
linuxの下でipcコマンドで表示して、ipcrmコマンドで削除することができます