namespaces.7: ffix
[man-pages.git] / man7 / ipc_namespaces.7
blob4402b2b972ae214748579d2923818ce700c0e3c2
1 .\" Copyright (c) 2019 by Michael Kerrisk <mtk.manpages@gmail.com>
2 .\"
3 .\" %%%LICENSE_START(VERBATIM)
4 .\" Permission is granted to make and distribute verbatim copies of this
5 .\" manual provided the copyright notice and this permission notice are
6 .\" preserved on all copies.
7 .\"
8 .\" Permission is granted to copy and distribute modified versions of this
9 .\" manual under the conditions for verbatim copying, provided that the
10 .\" entire resulting derived work is distributed under the terms of a
11 .\" permission notice identical to this one.
12 .\"
13 .\" Since the Linux kernel and libraries are constantly changing, this
14 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
15 .\" responsibility for errors or omissions, or for damages resulting from
16 .\" the use of the information contained herein.  The author(s) may not
17 .\" have taken the same level of care in the production of this manual,
18 .\" which is licensed free of charge, as they might when working
19 .\" professionally.
20 .\"
21 .\" Formatted or processed versions of this manual, if unaccompanied by
22 .\" the source, must acknowledge the copyright and authors of this work.
23 .\" %%%LICENSE_END
24 .\"
25 .\"
26 .TH IPC_NAMESPACES 7 2019-08-02 "Linux" "Linux Programmer's Manual"
27 .SH NAME
28 ipc_namespaces \- overview of Linux IPC namespaces
29 .SH DESCRIPTION
30 IPC namespaces isolate certain IPC resources,
31 namely, System V IPC objects (see
32 .BR sysvipc (7))
33 and (since Linux 2.6.30)
34 .\" commit 7eafd7c74c3f2e67c27621b987b28397110d643f
35 .\" https://lwn.net/Articles/312232/
36 POSIX message queues (see
37 .BR mq_overview (7)).
38 The common characteristic of these IPC mechanisms is that IPC
39 objects are identified by mechanisms other than filesystem
40 pathnames.
41 .PP
42 Each IPC namespace has its own set of System V IPC identifiers and
43 its own POSIX message queue filesystem.
44 Objects created in an IPC namespace are visible to all other processes
45 that are members of that namespace,
46 but are not visible to processes in other IPC namespaces.
47 .PP
48 The following
49 .I /proc
50 interfaces are distinct in each IPC namespace:
51 .IP * 3
52 The POSIX message queue interfaces in
53 .IR /proc/sys/fs/mqueue .
54 .IP *
55 The System V IPC interfaces in
56 .IR /proc/sys/kernel ,
57 namely:
58 .IR msgmax ,
59 .IR msgmnb  ,
60 .IR msgmni ,
61 .IR sem ,
62 .IR shmall ,
63 .IR shmmax ,
64 .IR shmmni ,
65 and
66 .IR shm_rmid_forced .
67 .IP *
68 The System V IPC interfaces in
69 .IR /proc/sysvipc .
70 .PP
71 When an IPC namespace is destroyed
72 (i.e., when the last process that is a member of the namespace terminates),
73 all IPC objects in the namespace are automatically destroyed.
74 .PP
75 Use of IPC namespaces requires a kernel that is configured with the
76 .B CONFIG_IPC_NS
77 option.
78 .SH SEE ALSO
79 .BR nsenter (1),
80 .BR unshare (1),
81 .BR clone (2),
82 .BR setns (2),
83 .BR unshare (2),
84 .BR mq_overview (7),
85 .BR namespaces (7),
86 .BR sysvipc (7)