607 lines
17 KiB
HTML
607 lines
17 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of MQ_OVERVIEW</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>MQ_OVERVIEW</H1>
|
|
Section: Linux Programmer's Manual (7)<BR>Updated: 2019-10-10<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
mq_overview - overview of POSIX message queues
|
|
<A NAME="lbAC"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
POSIX message queues allow processes to exchange data in
|
|
the form of messages.
|
|
This API is distinct from that provided by System V message queues
|
|
(<B><A HREF="/cgi-bin/man/man2html?2+msgget">msgget</A></B>(2),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?2+msgsnd">msgsnd</A></B>(2),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?2+msgrcv">msgrcv</A></B>(2),
|
|
|
|
etc.), but provides similar functionality.
|
|
<P>
|
|
|
|
Message queues are created and opened using
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_open">mq_open</A></B>(3);
|
|
|
|
this function returns a
|
|
<I>message queue descriptor</I>
|
|
|
|
(<I>mqd_t</I>),
|
|
|
|
which is used to refer to the open message queue in later calls.
|
|
Each message queue is identified by a name of the form
|
|
<I>/somename</I>;
|
|
|
|
that is, a null-terminated string of up to
|
|
<B>NAME_MAX</B>
|
|
|
|
(i.e., 255) characters consisting of an initial slash,
|
|
followed by one or more characters, none of which are slashes.
|
|
Two processes can operate on the same queue by passing the same name to
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_open">mq_open</A></B>(3).
|
|
|
|
<P>
|
|
|
|
Messages are transferred to and from a queue using
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_send">mq_send</A></B>(3)
|
|
|
|
and
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_receive">mq_receive</A></B>(3).
|
|
|
|
When a process has finished using the queue, it closes it using
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_close">mq_close</A></B>(3),
|
|
|
|
and when the queue is no longer required, it can be deleted using
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_unlink">mq_unlink</A></B>(3).
|
|
|
|
Queue attributes can be retrieved and (in some cases) modified using
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_getattr">mq_getattr</A></B>(3)
|
|
|
|
and
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_setattr">mq_setattr</A></B>(3).
|
|
|
|
A process can request asynchronous notification
|
|
of the arrival of a message on a previously empty queue using
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_notify">mq_notify</A></B>(3).
|
|
|
|
<P>
|
|
|
|
A message queue descriptor is a reference to an
|
|
<I>open message queue description</I>
|
|
|
|
(see
|
|
<B><A HREF="/cgi-bin/man/man2html?2+open">open</A></B>(2)).
|
|
|
|
After a
|
|
<B><A HREF="/cgi-bin/man/man2html?2+fork">fork</A></B>(2),
|
|
|
|
a child inherits copies of its parent's message queue descriptors,
|
|
and these descriptors refer to the same open message queue descriptions
|
|
as the corresponding message queue descriptors in the parent.
|
|
Corresponding message queue descriptors in the two processes share the flags
|
|
(<I>mq_flags</I>)
|
|
|
|
that are associated with the open message queue description.
|
|
<P>
|
|
|
|
Each message has an associated
|
|
<I>priority</I>,
|
|
|
|
and messages are always delivered to the receiving process
|
|
highest priority first.
|
|
Message priorities range from 0 (low) to
|
|
<I>sysconf(_SC_MQ_PRIO_MAX) - 1</I>
|
|
|
|
(high).
|
|
On Linux,
|
|
<I>sysconf(_SC_MQ_PRIO_MAX)</I>
|
|
|
|
returns 32768, but POSIX.1 requires only that
|
|
an implementation support at least priorities in the range 0 to 31;
|
|
some implementations provide only this range.
|
|
<P>
|
|
|
|
The remainder of this section describes some specific details
|
|
of the Linux implementation of POSIX message queues.
|
|
<A NAME="lbAD"> </A>
|
|
<H3>Library interfaces and system calls</H3>
|
|
|
|
In most cases the
|
|
<B>mq_*</B>()
|
|
|
|
library interfaces listed above are implemented
|
|
on top of underlying system calls of the same name.
|
|
Deviations from this scheme are indicated in the following table:
|
|
<DL COMPACT><DT id="1"><DD>
|
|
<TABLE>
|
|
<TR VALIGN=top><TD><B>Library interface</B></TD><TD><B>System call</B><BR></TD></TR>
|
|
<TR VALIGN=top><TD><A HREF="/cgi-bin/man/man2html?3+mq_close">mq_close</A>(3)</TD><TD><A HREF="/cgi-bin/man/man2html?2+close">close</A>(2)<BR></TD></TR>
|
|
<TR VALIGN=top><TD><A HREF="/cgi-bin/man/man2html?3+mq_getattr">mq_getattr</A>(3)</TD><TD><A HREF="/cgi-bin/man/man2html?2+mq_getsetattr">mq_getsetattr</A>(2)<BR></TD></TR>
|
|
<TR VALIGN=top><TD><A HREF="/cgi-bin/man/man2html?3+mq_notify">mq_notify</A>(3)</TD><TD><A HREF="/cgi-bin/man/man2html?2+mq_notify">mq_notify</A>(2)<BR></TD></TR>
|
|
<TR VALIGN=top><TD><A HREF="/cgi-bin/man/man2html?3+mq_open">mq_open</A>(3)</TD><TD><A HREF="/cgi-bin/man/man2html?2+mq_open">mq_open</A>(2)<BR></TD></TR>
|
|
<TR VALIGN=top><TD><A HREF="/cgi-bin/man/man2html?3+mq_receive">mq_receive</A>(3)</TD><TD><A HREF="/cgi-bin/man/man2html?2+mq_timedreceive">mq_timedreceive</A>(2)<BR></TD></TR>
|
|
<TR VALIGN=top><TD><A HREF="/cgi-bin/man/man2html?3+mq_send">mq_send</A>(3)</TD><TD><A HREF="/cgi-bin/man/man2html?2+mq_timedsend">mq_timedsend</A>(2)<BR></TD></TR>
|
|
<TR VALIGN=top><TD><A HREF="/cgi-bin/man/man2html?3+mq_setattr">mq_setattr</A>(3)</TD><TD><A HREF="/cgi-bin/man/man2html?2+mq_getsetattr">mq_getsetattr</A>(2)<BR></TD></TR>
|
|
<TR VALIGN=top><TD><A HREF="/cgi-bin/man/man2html?3+mq_timedreceive">mq_timedreceive</A>(3)</TD><TD><A HREF="/cgi-bin/man/man2html?2+mq_timedreceive">mq_timedreceive</A>(2)<BR></TD></TR>
|
|
<TR VALIGN=top><TD><A HREF="/cgi-bin/man/man2html?3+mq_timedsend">mq_timedsend</A>(3)</TD><TD><A HREF="/cgi-bin/man/man2html?2+mq_timedsend">mq_timedsend</A>(2)<BR></TD></TR>
|
|
<TR VALIGN=top><TD><A HREF="/cgi-bin/man/man2html?3+mq_unlink">mq_unlink</A>(3)</TD><TD><A HREF="/cgi-bin/man/man2html?2+mq_unlink">mq_unlink</A>(2)<BR></TD></TR>
|
|
</TABLE>
|
|
|
|
</DL>
|
|
|
|
<A NAME="lbAE"> </A>
|
|
<H3>Versions</H3>
|
|
|
|
POSIX message queues have been supported on Linux since kernel 2.6.6.
|
|
Glibc support has been provided since version 2.3.4.
|
|
<A NAME="lbAF"> </A>
|
|
<H3>Kernel configuration</H3>
|
|
|
|
Support for POSIX message queues is configurable via the
|
|
<B>CONFIG_POSIX_MQUEUE</B>
|
|
|
|
kernel configuration option.
|
|
This option is enabled by default.
|
|
<A NAME="lbAG"> </A>
|
|
<H3>Persistence</H3>
|
|
|
|
POSIX message queues have kernel persistence:
|
|
if not removed by
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_unlink">mq_unlink</A></B>(3),
|
|
|
|
a message queue will exist until the system is shut down.
|
|
<A NAME="lbAH"> </A>
|
|
<H3>Linking</H3>
|
|
|
|
Programs using the POSIX message queue API must be compiled with
|
|
<I>cc -lrt</I>
|
|
|
|
to link against the real-time library,
|
|
<I>librt</I>.
|
|
|
|
<A NAME="lbAI"> </A>
|
|
<H3>/proc interfaces</H3>
|
|
|
|
The following interfaces can be used to limit the amount of
|
|
kernel memory consumed by POSIX message queues and to set
|
|
the default attributes for new message queues:
|
|
<DL COMPACT>
|
|
<DT id="2"><I>/proc/sys/fs/mqueue/msg_default</I> (since Linux 3.5)
|
|
|
|
<DD>
|
|
This file defines the value used for a new queue's
|
|
<I>mq_maxmsg</I>
|
|
|
|
setting when the queue is created with a call to
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_open">mq_open</A></B>(3)
|
|
|
|
where
|
|
<I>attr</I>
|
|
|
|
is specified as NULL.
|
|
The default value for this file is 10.
|
|
The minimum and maximum are as for
|
|
<I>/proc/sys/fs/mqueue/msg_max</I>.
|
|
|
|
A new queue's default
|
|
<I>mq_maxmsg</I>
|
|
|
|
value will be the smaller of
|
|
<I>msg_default</I>
|
|
|
|
and
|
|
<I>msg_max</I>.
|
|
|
|
Up until Linux 2.6.28, the default
|
|
<I>mq_maxmsg</I>
|
|
|
|
was 10;
|
|
from Linux 2.6.28 to Linux 3.4, the default was the value defined for the
|
|
<I>msg_max</I>
|
|
|
|
limit.
|
|
<DT id="3"><I>/proc/sys/fs/mqueue/msg_max</I>
|
|
|
|
<DD>
|
|
This file can be used to view and change the ceiling value for the
|
|
maximum number of messages in a queue.
|
|
This value acts as a ceiling on the
|
|
<I>attr->mq_maxmsg</I>
|
|
|
|
argument given to
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_open">mq_open</A></B>(3).
|
|
|
|
The default value for
|
|
<I>msg_max</I>
|
|
|
|
is 10.
|
|
The minimum value is 1 (10 in kernels before 2.6.28).
|
|
The upper limit is
|
|
<B>HARD_MSGMAX</B>.
|
|
|
|
The
|
|
<I>msg_max</I>
|
|
|
|
limit is ignored for privileged processes
|
|
(<B>CAP_SYS_RESOURCE</B>),
|
|
|
|
but the
|
|
<B>HARD_MSGMAX</B>
|
|
|
|
ceiling is nevertheless imposed.
|
|
<DT id="4"><DD>
|
|
The definition of
|
|
<B>HARD_MSGMAX</B>
|
|
|
|
has changed across kernel versions:
|
|
<DL COMPACT><DT id="5"><DD>
|
|
<DL COMPACT>
|
|
<DT id="6">*<DD>
|
|
Up to Linux 2.6.32:
|
|
<I>131072 / sizeof(void *)</I>
|
|
|
|
<DT id="7">*<DD>
|
|
Linux 2.6.33 to 3.4:
|
|
<I>(32768 * sizeof(void *) / 4)</I>
|
|
|
|
<DT id="8">*<DD>
|
|
Since Linux 3.5:
|
|
|
|
65,536
|
|
</DL>
|
|
</DL>
|
|
|
|
<DT id="9"><I>/proc/sys/fs/mqueue/msgsize_default</I> (since Linux 3.5)
|
|
|
|
<DD>
|
|
This file defines the value used for a new queue's
|
|
<I>mq_msgsize</I>
|
|
|
|
setting when the queue is created with a call to
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_open">mq_open</A></B>(3)
|
|
|
|
where
|
|
<I>attr</I>
|
|
|
|
is specified as NULL.
|
|
The default value for this file is 8192 (bytes).
|
|
The minimum and maximum are as for
|
|
<I>/proc/sys/fs/mqueue/msgsize_max</I>.
|
|
|
|
If
|
|
<I>msgsize_default</I>
|
|
|
|
exceeds
|
|
<I>msgsize_max</I>,
|
|
|
|
a new queue's default
|
|
<I>mq_msgsize</I>
|
|
|
|
value is capped to the
|
|
<I>msgsize_max</I>
|
|
|
|
limit.
|
|
Up until Linux 2.6.28, the default
|
|
<I>mq_msgsize</I>
|
|
|
|
was 8192;
|
|
from Linux 2.6.28 to Linux 3.4, the default was the value defined for the
|
|
<I>msgsize_max</I>
|
|
|
|
limit.
|
|
<DT id="10"><I>/proc/sys/fs/mqueue/msgsize_max</I>
|
|
|
|
<DD>
|
|
This file can be used to view and change the ceiling on the
|
|
maximum message size.
|
|
This value acts as a ceiling on the
|
|
<I>attr->mq_msgsize</I>
|
|
|
|
argument given to
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_open">mq_open</A></B>(3).
|
|
|
|
The default value for
|
|
<I>msgsize_max</I>
|
|
|
|
is 8192 bytes.
|
|
The minimum value is 128 (8192 in kernels before 2.6.28).
|
|
The upper limit for
|
|
<I>msgsize_max</I>
|
|
|
|
has varied across kernel versions:
|
|
<DL COMPACT><DT id="11"><DD>
|
|
<DL COMPACT>
|
|
<DT id="12">*<DD>
|
|
Before Linux 2.6.28, the upper limit is
|
|
<B>INT_MAX</B>.
|
|
|
|
<DT id="13">*<DD>
|
|
From Linux 2.6.28 to 3.4, the limit is 1,048,576.
|
|
<DT id="14">*<DD>
|
|
Since Linux 3.5, the limit is 16,777,216
|
|
(<B>HARD_MSGSIZEMAX</B>).
|
|
|
|
</DL>
|
|
</DL>
|
|
|
|
<DT id="15"><DD>
|
|
The
|
|
<I>msgsize_max</I>
|
|
|
|
limit is ignored for privileged process
|
|
(<B>CAP_SYS_RESOURCE</B>),
|
|
|
|
but, since Linux 3.5, the
|
|
<B>HARD_MSGSIZEMAX</B>
|
|
|
|
ceiling is enforced for privileged processes.
|
|
<DT id="16"><I>/proc/sys/fs/mqueue/queues_max</I>
|
|
|
|
<DD>
|
|
This file can be used to view and change the system-wide limit on the
|
|
number of message queues that can be created.
|
|
The default value for
|
|
<I>queues_max</I>
|
|
|
|
is 256.
|
|
No ceiling is imposed on the
|
|
<I>queues_max</I>
|
|
|
|
limit; privileged processes
|
|
(<B>CAP_SYS_RESOURCE</B>)
|
|
|
|
can exceed the limit (but see BUGS).
|
|
</DL>
|
|
<A NAME="lbAJ"> </A>
|
|
<H3>Resource limit</H3>
|
|
|
|
The
|
|
<B>RLIMIT_MSGQUEUE</B>
|
|
|
|
resource limit, which places a limit on the amount of space
|
|
that can be consumed by all of the message queues
|
|
belonging to a process's real user ID, is described in
|
|
<B><A HREF="/cgi-bin/man/man2html?2+getrlimit">getrlimit</A></B>(2).
|
|
|
|
<A NAME="lbAK"> </A>
|
|
<H3>Mounting the message queue filesystem</H3>
|
|
|
|
On Linux, message queues are created in a virtual filesystem.
|
|
(Other implementations may also provide such a feature,
|
|
but the details are likely to differ.)
|
|
This filesystem can be mounted (by the superuser) using the following
|
|
commands:
|
|
<P>
|
|
|
|
|
|
|
|
#<B> mkdir /dev/mqueue</B>
|
|
|
|
#<B> mount -t mqueue none /dev/mqueue</B>
|
|
|
|
|
|
|
|
<P>
|
|
|
|
The sticky bit is automatically enabled on the mount directory.
|
|
<P>
|
|
|
|
After the filesystem has been mounted, the message queues on the system
|
|
can be viewed and manipulated using the commands usually used for files
|
|
(e.g.,
|
|
<B><A HREF="/cgi-bin/man/man2html?1+ls">ls</A></B>(1)
|
|
|
|
and
|
|
<B><A HREF="/cgi-bin/man/man2html?1+rm">rm</A></B>(1)).
|
|
|
|
<P>
|
|
|
|
The contents of each file in the directory consist of a single line
|
|
containing information about the queue:
|
|
<P>
|
|
|
|
|
|
|
|
$<B> cat /dev/mqueue/mymq</B>
|
|
|
|
QSIZE:129 NOTIFY:2 SIGNO:0 NOTIFY_PID:8260
|
|
|
|
|
|
<P>
|
|
|
|
These fields are as follows:
|
|
<DL COMPACT>
|
|
<DT id="17"><B>QSIZE</B>
|
|
|
|
<DD>
|
|
Number of bytes of data in all messages in the queue (but see BUGS).
|
|
<DT id="18"><B>NOTIFY_PID</B>
|
|
|
|
<DD>
|
|
If this is nonzero, then the process with this PID has used
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_notify">mq_notify</A></B>(3)
|
|
|
|
to register for asynchronous message notification,
|
|
and the remaining fields describe how notification occurs.
|
|
<DT id="19"><B>NOTIFY</B>
|
|
|
|
<DD>
|
|
Notification method:
|
|
0 is
|
|
<B>SIGEV_SIGNAL</B>;
|
|
|
|
1 is
|
|
<B>SIGEV_NONE</B>;
|
|
|
|
and
|
|
2 is
|
|
<B>SIGEV_THREAD</B>.
|
|
|
|
<DT id="20"><B>SIGNO</B>
|
|
|
|
<DD>
|
|
Signal number to be used for
|
|
<B>SIGEV_SIGNAL</B>.
|
|
|
|
</DL>
|
|
<A NAME="lbAL"> </A>
|
|
<H3>Linux implementation of message queue descriptors</H3>
|
|
|
|
On Linux, a message queue descriptor is actually a file descriptor.
|
|
(POSIX does not require such an implementation.)
|
|
This means that a message queue descriptor can be monitored using
|
|
<B><A HREF="/cgi-bin/man/man2html?2+select">select</A></B>(2),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?2+poll">poll</A></B>(2),
|
|
|
|
or
|
|
<B><A HREF="/cgi-bin/man/man2html?7+epoll">epoll</A></B>(7).
|
|
|
|
This is not portable.
|
|
<P>
|
|
|
|
The close-on-exec flag (see
|
|
<B><A HREF="/cgi-bin/man/man2html?2+open">open</A></B>(2))
|
|
|
|
is automatically set on the file descriptor returned by
|
|
<B><A HREF="/cgi-bin/man/man2html?2+mq_open">mq_open</A></B>(2).
|
|
|
|
<A NAME="lbAM"> </A>
|
|
<H3>IPC namespaces</H3>
|
|
|
|
For a discussion of the interaction of POSIX message queue objects and
|
|
IPC namespaces, see
|
|
<B><A HREF="/cgi-bin/man/man2html?7+ipc_namespaces">ipc_namespaces</A></B>(7).
|
|
|
|
<A NAME="lbAN"> </A>
|
|
<H2>NOTES</H2>
|
|
|
|
System V message queues
|
|
(<B><A HREF="/cgi-bin/man/man2html?2+msgget">msgget</A></B>(2),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?2+msgsnd">msgsnd</A></B>(2),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?2+msgrcv">msgrcv</A></B>(2),
|
|
|
|
etc.) are an older API for exchanging messages between processes.
|
|
POSIX message queues provide a better designed interface than
|
|
System V message queues;
|
|
on the other hand POSIX message queues are less widely available
|
|
(especially on older systems) than System V message queues.
|
|
<P>
|
|
|
|
Linux does not currently (2.6.26) support the use of access control
|
|
lists (ACLs) for POSIX message queues.
|
|
<A NAME="lbAO"> </A>
|
|
<H2>BUGS</H2>
|
|
|
|
In Linux versions 3.5 to 3.14, the kernel imposed a ceiling of 1024
|
|
(<B>HARD_QUEUESMAX</B>)
|
|
|
|
on the value to which the
|
|
<I>queues_max</I>
|
|
|
|
limit could be raised,
|
|
and the ceiling was enforced even for privileged processes.
|
|
This ceiling value was removed in Linux 3.14,
|
|
and patches to stable kernels 3.5.x to 3.13.x also removed the ceiling.
|
|
<P>
|
|
|
|
As originally implemented (and documented),
|
|
the QSIZE field displayed the total number of (user-supplied)
|
|
bytes in all messages in the message queue.
|
|
Some changes in Linux 3.5
|
|
|
|
inadvertently changed the behavior,
|
|
so that this field also included a count of kernel overhead bytes
|
|
used to store the messages in the queue.
|
|
This behavioral regression was rectified in Linux 4.2
|
|
|
|
(and earlier stable kernel series),
|
|
so that the count once more included just the bytes of user data
|
|
in messages in the queue.
|
|
<A NAME="lbAP"> </A>
|
|
<H2>EXAMPLE</H2>
|
|
|
|
An example of the use of various message queue functions is shown in
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_notify">mq_notify</A></B>(3).
|
|
|
|
<A NAME="lbAQ"> </A>
|
|
<H2>SEE ALSO</H2>
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?2+getrlimit">getrlimit</A></B>(2),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?2+mq_getsetattr">mq_getsetattr</A></B>(2),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?2+poll">poll</A></B>(2),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?2+select">select</A></B>(2),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_close">mq_close</A></B>(3),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_getattr">mq_getattr</A></B>(3),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_notify">mq_notify</A></B>(3),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_open">mq_open</A></B>(3),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_receive">mq_receive</A></B>(3),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_send">mq_send</A></B>(3),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?3+mq_unlink">mq_unlink</A></B>(3),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?7+epoll">epoll</A></B>(7),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?7+namespaces">namespaces</A></B>(7)
|
|
|
|
<A NAME="lbAR"> </A>
|
|
<H2>COLOPHON</H2>
|
|
|
|
This page is part of release 5.05 of the Linux
|
|
<I>man-pages</I>
|
|
|
|
project.
|
|
A description of the project,
|
|
information about reporting bugs,
|
|
and the latest version of this page,
|
|
can be found at
|
|
<A HREF="https://www.kernel.org/doc/man-pages/.">https://www.kernel.org/doc/man-pages/.</A>
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="21"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="22"><A HREF="#lbAC">DESCRIPTION</A><DD>
|
|
<DL>
|
|
<DT id="23"><A HREF="#lbAD">Library interfaces and system calls</A><DD>
|
|
<DT id="24"><A HREF="#lbAE">Versions</A><DD>
|
|
<DT id="25"><A HREF="#lbAF">Kernel configuration</A><DD>
|
|
<DT id="26"><A HREF="#lbAG">Persistence</A><DD>
|
|
<DT id="27"><A HREF="#lbAH">Linking</A><DD>
|
|
<DT id="28"><A HREF="#lbAI">/proc interfaces</A><DD>
|
|
<DT id="29"><A HREF="#lbAJ">Resource limit</A><DD>
|
|
<DT id="30"><A HREF="#lbAK">Mounting the message queue filesystem</A><DD>
|
|
<DT id="31"><A HREF="#lbAL">Linux implementation of message queue descriptors</A><DD>
|
|
<DT id="32"><A HREF="#lbAM">IPC namespaces</A><DD>
|
|
</DL>
|
|
<DT id="33"><A HREF="#lbAN">NOTES</A><DD>
|
|
<DT id="34"><A HREF="#lbAO">BUGS</A><DD>
|
|
<DT id="35"><A HREF="#lbAP">EXAMPLE</A><DD>
|
|
<DT id="36"><A HREF="#lbAQ">SEE ALSO</A><DD>
|
|
<DT id="37"><A HREF="#lbAR">COLOPHON</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:06:09 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|