msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2013-03-22 01:06+0900\n"
-"PO-Revision-Date: 2013-03-24 01:10+0900\n"
+"POT-Creation-Date: 2013-08-15 19:32+0900\n"
+"PO-Revision-Date: 2013-07-22 04:34+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"CPU_ISSET_S, CPU_ZERO_S, CPU_COUNT_S, CPU_AND_S, CPU_OR_S, CPU_XOR_S, "
"CPU_EQUAL_S - macros for manipulating CPU sets"
msgstr ""
-"CPU_SET, CPU_CLR, CPU_ISSET, CPU_ZERO, CPU_COUNT, CPU_AND, CPU_OR, CPU_XOR, "
-"CPU_EQUAL, CPU_ALLOC, CPU_ALLOC_SIZE, CPU_FREE, CPU_SET_S, CPU_CLR_S, "
-"CPU_ISSET_S, CPU_ZERO_S, CPU_COUNT_S, CPU_AND_S, CPU_OR_S, CPU_XOR_S, "
-"CPU_EQUAL_S - macros for manipulating CPU sets"
#. type: SH
#: build/C/man3/CPU_SET.3:35 build/C/man2/clone.2:48 build/C/man2/kcmp.2:31
msgid "SYNOPSIS"
msgstr "書式"
-#. Actually _BSD_SOURCE || _SVID_SOURCE
-#. FIXME See http://sources.redhat.com/bugzilla/show_bug.cgi?id=4749
#. type: Plain text
-#: build/C/man3/CPU_SET.3:39 build/C/man2/clone.2:54
-#: build/C/man2/sched_setaffinity.2:42 build/C/man2/setns.2:15
-#: build/C/man2/unshare.2:29
+#: build/C/man3/CPU_SET.3:39 build/C/man2/sched_setaffinity.2:42
+#: build/C/man2/setns.2:15
#, no-wrap
msgid ""
"B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
msgstr "B<int CPU_EQUAL_S(size_t >I<setsize>B<, cpu_set_t *>I<set1>B<, cpu_set_t *>I<set2>B<);>\n"
#. type: SH
-#: build/C/man3/CPU_SET.3:79 build/C/man2/clone.2:60 build/C/man2/kcmp.2:41
-#: build/C/man2/sched_get_priority_max.2:38 build/C/man3/sched_getcpu.3:37
+#: build/C/man3/CPU_SET.3:79 build/C/man2/clone.2:86 build/C/man2/kcmp.2:41
+#: build/C/man2/sched_get_priority_max.2:38 build/C/man3/sched_getcpu.3:55
#: build/C/man2/sched_rr_get_interval.2:36 build/C/man2/sched_setaffinity.2:49
#: build/C/man2/sched_setparam.2:47 build/C/man2/sched_setscheduler.2:66
#: build/C/man2/sched_yield.2:36 build/C/man2/setns.2:18
-#: build/C/man2/unshare.2:32
+#: build/C/man2/unshare.2:50
#, no-wrap
msgid "DESCRIPTION"
msgstr "説明"
"The I<cpu_set_t> data structure represents a set of CPUs. CPU sets are used "
"by B<sched_setaffinity>(2) and similar interfaces."
msgstr ""
-"The I<cpu_set_t> data structure represents a set of CPUs. CPU sets are used "
-"by B<sched_setaffinity>(2) and similar interfaces."
#. type: Plain text
#: build/C/man3/CPU_SET.3:93
"structure treated as considered opaque: all manipulation of CPU sets should "
"be done via the macros described in this page."
msgstr ""
-"The I<cpu_set_t> data type is implemented as a bitset. However, the data "
-"structure treated as considered opaque: all manipulation of CPU sets should "
-"be done via the macros described in this page."
#. type: Plain text
#: build/C/man3/CPU_SET.3:96
msgid "The following macros are provided to operate on the CPU set I<set>:"
-msgstr "The following macros are provided to operate on the CPU set I<set>:"
+msgstr ""
#. type: TP
#: build/C/man3/CPU_SET.3:96
#. type: Plain text
#: build/C/man3/CPU_SET.3:101
msgid "Clears I<set>, so that it contains no CPUs."
-msgstr "Clears I<set>, so that it contains no CPUs."
+msgstr ""
#. type: TP
#: build/C/man3/CPU_SET.3:101
#. type: Plain text
#: build/C/man3/CPU_SET.3:107
msgid "Add CPU I<cpu> to I<set>."
-msgstr "Add CPU I<cpu> to I<set>."
+msgstr ""
#. type: TP
#: build/C/man3/CPU_SET.3:107
#. type: Plain text
#: build/C/man3/CPU_SET.3:113
msgid "Remove CPU I<cpu> from I<set>."
-msgstr "Remove CPU I<cpu> from I<set>."
+msgstr ""
#. type: TP
#: build/C/man3/CPU_SET.3:113
#. type: Plain text
#: build/C/man3/CPU_SET.3:119
msgid "Test to see if CPU I<cpu> is a member of I<set>."
-msgstr "Test to see if CPU I<cpu> is a member of I<set>."
+msgstr ""
#. type: TP
#: build/C/man3/CPU_SET.3:119
#. type: Plain text
#: build/C/man3/CPU_SET.3:123
msgid "Return the number of CPUs in I<set>."
-msgstr "Return the number of CPUs in I<set>."
+msgstr ""
#. type: Plain text
#: build/C/man3/CPU_SET.3:128
"Where a I<cpu> argument is specified, it should not produce side effects, "
"since the above macros may evaluate the argument more than once."
msgstr ""
-"Where a I<cpu> argument is specified, it should not produce side effects, "
-"since the above macros may evaluate the argument more than once."
#. type: Plain text
#: build/C/man3/CPU_SET.3:139
"B<CPU_SETSIZE> (currently 1024) specifies a value one greater than the "
"maximum CPU number that can be stored in I<cpu_set_t>."
msgstr ""
-"The first available CPU on the system corresponds to a I<cpu> value of 0, "
-"the next CPU corresponds to a I<cpu> value of 1, and so on. The constant "
-"B<CPU_SETSIZE> (currently 1024) specifies a value one greater than the "
-"maximum CPU number that can be stored in I<cpu_set_t>."
#. type: Plain text
#: build/C/man3/CPU_SET.3:141
msgid "The following macros perform logical operations on CPU sets:"
-msgstr "The following macros perform logical operations on CPU sets:"
+msgstr ""
#. type: TP
#: build/C/man3/CPU_SET.3:141
"Store the intersection of the sets I<srcset1> and I<srcset2> in I<destset> "
"(which may be one of the source sets)."
msgstr ""
-"Store the intersection of the sets I<srcset1> and I<srcset2> in I<destset> "
-"(which may be one of the source sets)."
#. type: TP
#: build/C/man3/CPU_SET.3:150
"Store the union of the sets I<srcset1> and I<srcset2> in I<destset> (which "
"may be one of the source sets)."
msgstr ""
-"Store the union of the sets I<srcset1> and I<srcset2> in I<destset> (which "
-"may be one of the source sets)."
#. type: TP
#: build/C/man3/CPU_SET.3:159
"be one of the source sets). The XOR means the set of CPUs that are in "
"either I<srcset1> or I<srcset2>, but not both."
msgstr ""
-"Store the XOR of the sets I<srcset1> and I<srcset2> in I<destset> (which may "
-"be one of the source sets). The XOR means the set of CPUs that are in "
-"either I<srcset1> or I<srcset2>, but not both."
#. type: TP
#: build/C/man3/CPU_SET.3:173
#. type: Plain text
#: build/C/man3/CPU_SET.3:176
msgid "Test whether two CPU set contain exactly the same CPUs."
-msgstr "Test whether two CPU set contain exactly the same CPUs."
+msgstr ""
#. type: SS
#: build/C/man3/CPU_SET.3:176
#, no-wrap
msgid "Dynamically sized CPU sets"
-msgstr "Dynamically sized CPU sets"
+msgstr ""
#. type: Plain text
#: build/C/man3/CPU_SET.3:182
"I<cpu_set_t> data type), glibc nowadays provides a set of macros to support "
"this."
msgstr ""
-"Because some applications may require the ability to dynamically size CPU "
-"sets (e.g., to allocate sets larger than that defined by the standard "
-"I<cpu_set_t> data type), glibc nowadays provides a set of macros to support "
-"this."
#. type: Plain text
#: build/C/man3/CPU_SET.3:184
msgid "The following macros are used to allocate and deallocate CPU sets:"
-msgstr "The following macros are used to allocate and deallocate CPU sets:"
+msgstr ""
#. type: TP
#: build/C/man3/CPU_SET.3:184
msgid ""
"Allocate a CPU set large enough to hold CPUs in the range 0 to I<num_cpus-1>."
msgstr ""
-"Allocate a CPU set large enough to hold CPUs in the range 0 to I<num_cpus-1>."
#. type: TP
#: build/C/man3/CPU_SET.3:189
"the range 0 to I<num_cpus-1>. This macro provides the value that can be "
"used for the I<setsize> argument in the B<CPU_*_S>() macros described below."
msgstr ""
-"Return the size in bytes of the CPU set that would be needed to hold CPUs in "
-"the range 0 to I<num_cpus-1>. This macro provides the value that can be "
-"used for the I<setsize> argument in the B<CPU_*_S>() macros described below."
#. type: TP
#: build/C/man3/CPU_SET.3:199
#. type: Plain text
#: build/C/man3/CPU_SET.3:203
msgid "Free a CPU set previously allocated by B<CPU_ALLOC>()."
-msgstr "Free a CPU set previously allocated by B<CPU_ALLOC>()."
+msgstr ""
#. type: Plain text
#: build/C/man3/CPU_SET.3:210
"their analogs, but operate on the dynamically allocated CPU set(s) whose "
"size is I<setsize> bytes."
msgstr ""
-"The macros whose names end with \"_S\" are the analogs of the similarly "
-"named macros without the suffix. These macros perform the same tasks as "
-"their analogs, but operate on the dynamically allocated CPU set(s) whose "
-"size is I<setsize> bytes."
#. type: SH
-#: build/C/man3/CPU_SET.3:210 build/C/man2/clone.2:806 build/C/man2/kcmp.2:124
-#: build/C/man2/sched_get_priority_max.2:86 build/C/man3/sched_getcpu.3:40
+#: build/C/man3/CPU_SET.3:210 build/C/man2/clone.2:874 build/C/man2/kcmp.2:124
+#: build/C/man2/sched_get_priority_max.2:98 build/C/man3/sched_getcpu.3:58
#: build/C/man2/sched_rr_get_interval.2:73
#: build/C/man2/sched_setaffinity.2:107 build/C/man2/sched_setparam.2:87
#: build/C/man2/sched_setscheduler.2:422 build/C/man2/sched_yield.2:41
-#: build/C/man2/setns.2:70 build/C/man2/unshare.2:189
+#: build/C/man2/setns.2:70 build/C/man2/unshare.2:207
#, no-wrap
msgid "RETURN VALUE"
msgstr "返り値"
"B<CPU_ISSET>() and B<CPU_ISSET_S>() return nonzero if I<cpu> is in I<set>; "
"otherwise, it returns 0."
msgstr ""
-"B<CPU_ISSET>() and B<CPU_ISSET_S>() return nonzero if I<cpu> is in I<set>; "
-"otherwise, it returns 0."
#. type: Plain text
#: build/C/man3/CPU_SET.3:225
msgid ""
"B<CPU_COUNT>() and B<CPU_COUNT_S>() return the number of CPUs in I<set>."
msgstr ""
-"B<CPU_COUNT>() and B<CPU_COUNT_S>() return the number of CPUs in I<set>."
#. type: Plain text
#: build/C/man3/CPU_SET.3:230
"B<CPU_EQUAL>() and B<CPU_EQUAL_S>() return nonzero if the two CPU sets are "
"equal; otherwise it returns 0."
msgstr ""
-"B<CPU_EQUAL>() and B<CPU_EQUAL_S>() return nonzero if the two CPU sets are "
-"equal; otherwise it returns 0."
#. type: Plain text
#: build/C/man3/CPU_SET.3:235
"B<CPU_ALLOC>() returns a pointer on success, or NULL on failure. (Errors "
"are as for B<malloc>(3).)"
msgstr ""
-"B<CPU_ALLOC>() returns a pointer on success, or NULL on failure. (Errors "
-"are as for B<malloc>(3).)"
#. type: Plain text
#: build/C/man3/CPU_SET.3:239
"B<CPU_ALLOC_SIZE>() returns the number of bytes required to store a CPU set "
"of the specified cardinality."
msgstr ""
-"B<CPU_ALLOC_SIZE>() returns the number of bytes required to store a CPU set "
-"of the specified cardinality."
#. type: Plain text
#: build/C/man3/CPU_SET.3:241
msgid "The other functions do not return a value."
-msgstr "The other functions do not return a value."
+msgstr ""
#. type: SH
-#: build/C/man3/CPU_SET.3:241 build/C/man2/clone.2:923 build/C/man2/kcmp.2:195
-#: build/C/man3/sched_getcpu.3:52 build/C/man2/sched_setaffinity.2:148
-#: build/C/man2/setns.2:97 build/C/man2/unshare.2:206
+#: build/C/man3/CPU_SET.3:241 build/C/man2/clone.2:991 build/C/man2/kcmp.2:195
+#: build/C/man3/sched_getcpu.3:70 build/C/man2/sched_setaffinity.2:148
+#: build/C/man2/setns.2:97 build/C/man2/unshare.2:224
#, no-wrap
msgid "VERSIONS"
msgstr "バージョン"
"The B<CPU_ZERO>(), B<CPU_SET>(), B<CPU_CLR>(), and B<CPU_ISSET>() macros "
"were added in glibc 2.3.3."
msgstr ""
-"The B<CPU_ZERO>(), B<CPU_SET>(), B<CPU_CLR>(), and B<CPU_ISSET>() macros "
-"were added in glibc 2.3.3."
#. type: Plain text
#: build/C/man3/CPU_SET.3:252
msgid "B<CPU_COUNT>() first appeared in glibc 2.6."
-msgstr "B<CPU_COUNT>() first appeared in glibc 2.6."
+msgstr ""
#. type: Plain text
#: build/C/man3/CPU_SET.3:270
"B<CPU_CLR_S>(), B<CPU_ISSET_S>(), B<CPU_AND_S>(), B<CPU_OR_S>(), B<CPU_XOR_S>"
"(), and B<CPU_EQUAL_S>() first appeared in glibc 2.7."
msgstr ""
-"B<CPU_AND>(), B<CPU_OR>(), B<CPU_XOR>(), B<CPU_EQUAL>(), B<CPU_ALLOC>(), "
-"B<CPU_ALLOC_SIZE>(), B<CPU_FREE>(), B<CPU_ZERO_S>(), B<CPU_SET_S>(), "
-"B<CPU_CLR_S>(), B<CPU_ISSET_S>(), B<CPU_AND_S>(), B<CPU_OR_S>(), B<CPU_XOR_S>"
-"(), and B<CPU_EQUAL_S>() first appeared in glibc 2.7."
#. type: SH
-#: build/C/man3/CPU_SET.3:270 build/C/man2/clone.2:930 build/C/man2/kcmp.2:199
-#: build/C/man2/sched_get_priority_max.2:100 build/C/man3/sched_getcpu.3:54
+#: build/C/man3/CPU_SET.3:270 build/C/man2/clone.2:998 build/C/man2/kcmp.2:199
+#: build/C/man2/sched_get_priority_max.2:114 build/C/man3/sched_getcpu.3:72
#: build/C/man2/sched_rr_get_interval.2:94
#: build/C/man2/sched_setaffinity.2:159 build/C/man2/sched_setparam.2:110
#: build/C/man2/sched_setscheduler.2:444 build/C/man2/sched_yield.2:52
-#: build/C/man2/setns.2:102 build/C/man2/unshare.2:210
+#: build/C/man2/setns.2:102 build/C/man2/unshare.2:228
#, no-wrap
msgid "CONFORMING TO"
msgstr "準拠"
#. type: Plain text
#: build/C/man3/CPU_SET.3:272
msgid "These interfaces are Linux-specific."
-msgstr "These interfaces are Linux-specific."
+msgstr ""
#. type: SH
-#: build/C/man3/CPU_SET.3:272 build/C/man2/clone.2:937 build/C/man2/kcmp.2:202
-#: build/C/man3/sched_getcpu.3:57 build/C/man2/sched_rr_get_interval.2:96
+#: build/C/man3/CPU_SET.3:272 build/C/man2/clone.2:1002
+#: build/C/man2/kcmp.2:202 build/C/man3/sched_getcpu.3:75
+#: build/C/man2/sched_rr_get_interval.2:96
#: build/C/man2/sched_setaffinity.2:161 build/C/man2/sched_setparam.2:112
#: build/C/man2/sched_setscheduler.2:447 build/C/man2/sched_yield.2:54
-#: build/C/man2/setns.2:106 build/C/man2/unshare.2:214
+#: build/C/man2/setns.2:106 build/C/man2/unshare.2:232
#, no-wrap
msgid "NOTES"
msgstr "注意"
#. type: Plain text
#: build/C/man3/CPU_SET.3:275
msgid "To duplicate a CPU set, use B<memcpy>(3)."
-msgstr "To duplicate a CPU set, use B<memcpy>(3)."
+msgstr ""
#. type: Plain text
#: build/C/man3/CPU_SET.3:282
"next multiple of I<sizeof(unsigned long)>. An application should consider "
"the contents of these extra bits to be undefined."
msgstr ""
-"Since CPU sets are bitsets allocated in units of long words, the actual "
-"number of CPUs in a dynamically allocated CPU set will be rounded up to the "
-"next multiple of I<sizeof(unsigned long)>. An application should consider "
-"the contents of these extra bits to be undefined."
#. type: Plain text
#: build/C/man3/CPU_SET.3:294
"(thus, it is effectively a count of bits in the bitset), while the "
"I<setsize> argument of the B<CPU_*_S>() macros is a size in bytes."
msgstr ""
-"Notwithstanding the similarity in the names, note that the constant "
-"B<CPU_SETSIZE> indicates the number of CPUs in the I<cpu_set_t> data type "
-"(thus, it is effectively a count of bits in the bitset), while the "
-"I<setsize> argument of the B<CPU_*_S>() macros is a size in bytes."
#. type: Plain text
#: build/C/man3/CPU_SET.3:300
"are implemented as macros, the compiler won't necessarily catch all type "
"errors if you violate the suggestions."
msgstr ""
-"The data types for arguments and return values shown in the SYNOPSIS are "
-"hints what about is expected in each case. However, since these interfaces "
-"are implemented as macros, the compiler won't necessarily catch all type "
-"errors if you violate the suggestions."
#. type: SH
-#: build/C/man3/CPU_SET.3:300 build/C/man2/clone.2:984
+#: build/C/man3/CPU_SET.3:300 build/C/man2/clone.2:1027
#: build/C/man2/sched_setscheduler.2:530
#, no-wrap
msgid "BUGS"
"the macros that operate on dynamically allocated CPU sets. These bugs are "
"fixed in glibc 2.9."
msgstr ""
-"On 32-bit platforms with glibc 2.8 and earlier, B<CPU_ALLOC>() allocates "
-"twice as much space as is required, and B<CPU_ALLOC_SIZE>() returns a value "
-"twice as large as it should. This bug should not affect the semantics of a "
-"program, but does result in wasted memory and less efficient operation of "
-"the macros that operate on dynamically allocated CPU sets. These bugs are "
-"fixed in glibc 2.9."
#. type: SH
-#: build/C/man3/CPU_SET.3:312 build/C/man2/clone.2:1026
+#: build/C/man3/CPU_SET.3:312 build/C/man2/clone.2:1069
#: build/C/man2/setns.2:112
#, no-wrap
msgid "EXAMPLE"
-msgstr "EXAMPLE"
+msgstr "例"
#. type: Plain text
#: build/C/man3/CPU_SET.3:315
"The following program demonstrates the use of some of the macros used for "
"dynamically allocated CPU sets."
msgstr ""
-"The following program demonstrates the use of some of the macros used for "
-"dynamically allocated CPU sets."
#. type: Plain text
#: build/C/man3/CPU_SET.3:323
"}\n"
#. type: SH
-#: build/C/man3/CPU_SET.3:356 build/C/man2/clone.2:1124
-#: build/C/man2/kcmp.2:219 build/C/man2/sched_get_priority_max.2:102
-#: build/C/man3/sched_getcpu.3:77 build/C/man2/sched_rr_get_interval.2:125
+#: build/C/man3/CPU_SET.3:356 build/C/man2/clone.2:1167
+#: build/C/man2/kcmp.2:219 build/C/man2/sched_get_priority_max.2:116
+#: build/C/man3/sched_getcpu.3:95 build/C/man2/sched_rr_get_interval.2:132
#: build/C/man2/sched_setaffinity.2:214 build/C/man2/sched_setparam.2:118
-#: build/C/man2/sched_setscheduler.2:538 build/C/man2/sched_yield.2:78
-#: build/C/man2/setns.2:199 build/C/man2/unshare.2:248
+#: build/C/man2/sched_setscheduler.2:538 build/C/man2/sched_yield.2:79
+#: build/C/man2/setns.2:199 build/C/man2/unshare.2:266
#, no-wrap
msgid "SEE ALSO"
msgstr "関連項目"
"B<pthread_setaffinity_np>(3), B<cpuset>(7)"
#. type: SH
-#: build/C/man3/CPU_SET.3:361 build/C/man2/clone.2:1138
-#: build/C/man2/kcmp.2:222 build/C/man2/sched_get_priority_max.2:114
-#: build/C/man3/sched_getcpu.3:79 build/C/man2/sched_rr_get_interval.2:131
+#: build/C/man3/CPU_SET.3:361 build/C/man2/clone.2:1181
+#: build/C/man2/kcmp.2:222 build/C/man2/sched_get_priority_max.2:128
+#: build/C/man3/sched_getcpu.3:97 build/C/man2/sched_rr_get_interval.2:138
#: build/C/man2/sched_setaffinity.2:233 build/C/man2/sched_setparam.2:134
-#: build/C/man2/sched_setscheduler.2:567 build/C/man2/sched_yield.2:84
-#: build/C/man2/setns.2:205 build/C/man2/unshare.2:257
+#: build/C/man2/sched_setscheduler.2:566 build/C/man2/sched_yield.2:85
+#: build/C/man2/setns.2:205 build/C/man2/unshare.2:275
#, no-wrap
msgid "COLOPHON"
msgstr "この文書について"
#. type: Plain text
-#: build/C/man3/CPU_SET.3:368 build/C/man2/clone.2:1145
-#: build/C/man2/kcmp.2:229 build/C/man2/sched_get_priority_max.2:121
-#: build/C/man3/sched_getcpu.3:86 build/C/man2/sched_rr_get_interval.2:138
+#: build/C/man3/CPU_SET.3:368 build/C/man2/clone.2:1188
+#: build/C/man2/kcmp.2:229 build/C/man2/sched_get_priority_max.2:135
+#: build/C/man3/sched_getcpu.3:104 build/C/man2/sched_rr_get_interval.2:145
#: build/C/man2/sched_setaffinity.2:240 build/C/man2/sched_setparam.2:141
-#: build/C/man2/sched_setscheduler.2:574 build/C/man2/sched_yield.2:91
-#: build/C/man2/setns.2:212 build/C/man2/unshare.2:264
+#: build/C/man2/sched_setscheduler.2:573 build/C/man2/sched_yield.2:92
+#: build/C/man2/setns.2:212 build/C/man2/unshare.2:282
+#, fuzzy
+#| msgid ""
+#| "This page is part of release 3.52 of the Linux I<man-pages> project. A "
+#| "description of the project, and information about reporting bugs, can be "
+#| "found at \\%http://www.kernel.org/doc/man-pages/."
msgid ""
-"This page is part of release 3.50 of the Linux I<man-pages> project. A "
+"This page is part of release 3.53 of the Linux I<man-pages> project. A "
"description of the project, and information about reporting bugs, can be "
-"found at http://www.kernel.org/doc/man-pages/."
+"found at \\%http://www.kernel.org/doc/man-pages/."
msgstr ""
-"この man ページは Linux I<man-pages> プロジェクトのリリース 3.50 の一部\n"
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.52 の一部\n"
"である。プロジェクトの説明とバグ報告に関する情報は\n"
"http://www.kernel.org/doc/man-pages/ に書かれている。"
msgstr "CLONE"
#. type: TH
-#: build/C/man2/clone.2:45 build/C/man2/setns.2:8
-#, fuzzy, no-wrap
-#| msgid "2010-11-01"
-msgid "2013-01-01"
-msgstr "2010-11-01"
+#: build/C/man2/clone.2:45
+#, no-wrap
+msgid "2013-04-16"
+msgstr "2013-04-16"
#. type: Plain text
#: build/C/man2/clone.2:48
msgstr "clone, __clone2 - 子プロセスを作成する"
#. type: Plain text
-#: build/C/man2/clone.2:59
+#: build/C/man2/clone.2:51
+#, no-wrap
+msgid "/* Prototype for the glibc wrapper function */\n"
+msgstr "/* glibc ラッパー関数のプロトタイプ */\n"
+
+#. type: Plain text
+#: build/C/man2/clone.2:53 build/C/man3/sched_getcpu.3:32
+#: build/C/man2/sched_setparam.2:36 build/C/man2/sched_setscheduler.2:53
+#: build/C/man2/unshare.2:26
+#, no-wrap
+msgid "B<#include E<lt>sched.hE<gt>>\n"
+msgstr "B<#include E<lt>sched.hE<gt>>\n"
+
+#. type: Plain text
+#: build/C/man2/clone.2:58
#, no-wrap
msgid ""
"B<int clone(int (*>I<fn>B<)(void *), void *>I<child_stack>B<,>\n"
"B< /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
#. type: Plain text
-#: build/C/man2/clone.2:71
+#: build/C/man2/clone.2:60
+#, no-wrap
+msgid "/* Prototype for the raw system call */\n"
+msgstr "/* 素のシステムコールのプロトタイプ */\n"
+
+#. type: Plain text
+#: build/C/man2/clone.2:64
+#, no-wrap
+msgid ""
+"B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
+"B< void *>I<ptid>B<, void *>I<ctid>B<,>\n"
+"B< struct pt_regs *>I<regs>B<);>\n"
+msgstr ""
+"B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
+"B< void *>I<ptid>B<, void *>I<ctid>B<,>\n"
+"B< struct pt_regs *>I<regs>B<);>\n"
+
+#. type: Plain text
+#: build/C/man2/clone.2:69
+msgid ""
+"Feature Test Macro Requirements for glibc wrapper function (see "
+"B<feature_test_macros>(7)):"
+msgstr ""
+"glibc ラッパー関数の機能検査マクロの要件 (B<feature_test_macros>(7) 参照):"
+
+#. type: Plain text
+#: build/C/man2/clone.2:72
+msgid "B<clone>():"
+msgstr "B<clone>():"
+
+#. type: TP
+#: build/C/man2/clone.2:75 build/C/man3/sched_getcpu.3:45
+#: build/C/man2/unshare.2:39
+#, no-wrap
+msgid "Since glibc 2.14:"
+msgstr "glibc 2.14 以降:"
+
+#. type: Plain text
+#: build/C/man2/clone.2:78 build/C/man3/sched_getcpu.3:48
+#: build/C/man2/unshare.2:42
+msgid "_GNU_SOURCE"
+msgstr "_GNU_SOURCE"
+
+#. FIXME See http://sources.redhat.com/bugzilla/show_bug.cgi?id=4749
+#. type: TP
+#: build/C/man2/clone.2:78 build/C/man3/sched_getcpu.3:48
+#: build/C/man2/unshare.2:42
+#, no-wrap
+msgid "Before glibc 2.14:"
+msgstr "glibc 2.14 より前:"
+
+#. type: Plain text
+#: build/C/man2/clone.2:83 build/C/man3/sched_getcpu.3:52
+#: build/C/man2/unshare.2:47
+#, no-wrap
msgid ""
-"B<clone>() creates a new process, in a manner similar to B<fork>(2). It is "
-"actually a library function layered on top of the underlying B<clone>() "
-"system call, hereinafter referred to as B<sys_clone>. A description of "
-"B<sys_clone> is given toward the end of this page."
+"_BSD_SOURCE || _SVID_SOURCE\n"
+" /* _GNU_SOURCE also suffices */\n"
msgstr ""
-"B<clone>() は B<fork>(2) と同じような方法で新しいプロセスを作成する。 "
-"B<clone>() には、ライブラリ関数とその下層にあたる B<clone>() システムコール"
-"が存在する。以下の説明では、システムコールの方を B<sys_clone> と表すこととす"
-"る。 B<sys_clone> に関する説明はこのマニュアルの最後の方にある。"
+"_BSD_SOURCE || _SVID_SOURCE\n"
+" /* _GNU_SOURCE も定義される */\n"
+
+#. type: Plain text
+#: build/C/man2/clone.2:90
+msgid "B<clone>() creates a new process, in a manner similar to B<fork>(2)."
+msgstr "B<clone>() は、 B<fork>(2) と似た方法で新しいプロセスを作成する。"
#. type: Plain text
-#: build/C/man2/clone.2:83
+#: build/C/man2/clone.2:97
msgid ""
-"Unlike B<fork>(2), these calls allow the child process to share parts of its "
-"execution context with the calling process, such as the memory space, the "
-"table of file descriptors, and the table of signal handlers. (Note that on "
-"this manual page, \"calling process\" normally corresponds to \"parent "
+"This page describes both the glibc B<clone>() wrapper function and the "
+"underlying system call on which it is based. The main text describes the "
+"wrapper function; the differences for the raw system call are described "
+"toward the end of this page."
+msgstr ""
+"このページでは、 glibc の B<clone>() ラッパー関数とその裏で呼ばれるシステム"
+"コールの両方について説明している。 メインの説明はラッパー関数に関するものであ"
+"る。 素のシステムコールにおける差分はこのページの最後の方で説明する。"
+
+#. type: Plain text
+#: build/C/man2/clone.2:109
+msgid ""
+"Unlike B<fork>(2), B<clone>() allows the child process to share parts of "
+"its execution context with the calling process, such as the memory space, "
+"the table of file descriptors, and the table of signal handlers. (Note that "
+"on this manual page, \"calling process\" normally corresponds to \"parent "
"process\". But see the description of B<CLONE_PARENT> below.)"
msgstr ""
-"B<fork>(2) とは異なり、これらのコールでは、子プロセス (child process) と呼"
-"ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83ã\82»ã\82¹ã\81¨ã\81\8cã\80\81ã\83¡ã\83¢ã\83ªç©ºé\96\93ã\80\81 ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81®ã\83\86ã\83¼ã\83\96ã\83«ã\80\81ã\82·ã\82°ã\83\8a"
-"ã\83«ã\83»ã\83\8fã\83³ã\83\89ã\83©ã\81®ã\83\86ã\83¼ã\83\96ã\83«ã\81ªã\81©ã\81® å®\9fè¡\8cã\82³ã\83³ã\83\86ã\82ã\82¹ã\83\88ã\81®ä¸\80é\83¨ã\82\92å\85±æ\9c\89ã\81§ã\81\8dã\82\8bã\80\82 (ã\81\93ã\81®ã\83\9eã\83\8bã\83¥"
-"ã\82¢ã\83«ã\81«ã\81\8aã\81\91ã\82\8bã\80\8cå\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83ã\82»ã\82¹ã\80\8dã\81¯ã\80\81é\80\9a常ã\81¯ ã\80\8c親ã\83\97ã\83ã\82»ã\82¹ã\80\8dã\81¨ä¸\80è\87´ã\81\99ã\82\8bã\80\82ä½\86"
-"し、後述の B<CLONE_PARENT> の項も参照のこと)"
+"B<fork>(2) とは異なり、B<clone>() では、子プロセス (child process) と呼び出"
+"ã\81\97å\85\83ã\81®ã\83\97ã\83ã\82»ã\82¹ã\81¨ã\81\8cã\80\81ã\83¡ã\83¢ã\83ªç©ºé\96\93ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81®ã\83\86ã\83¼ã\83\96ã\83«ã\80\81ã\82·ã\82°ã\83\8aã\83«ã\83»"
+"ã\83\8fã\83³ã\83\89ã\83©ã\81®ã\83\86ã\83¼ã\83\96ã\83«ã\81ªã\81©ã\81® å®\9fè¡\8cã\82³ã\83³ã\83\86ã\82ã\82¹ã\83\88ã\81®ä¸\80é\83¨ã\82\92å\85±æ\9c\89ã\81§ã\81\8dã\82\8bã\80\82 (ã\81\93ã\81®ã\83\9eã\83\8bã\83¥ã\82¢ã\83«"
+"ã\81«ã\81\8aã\81\91ã\82\8bã\80\8cå\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83ã\82»ã\82¹ã\80\8dã\81¯ã\80\81é\80\9a常ã\81¯ ã\80\8c親ã\83\97ã\83ã\82»ã\82¹ã\80\8dã\81¨ä¸\80è\87´ã\81\99ã\82\8bã\80\82ä½\86ã\81\97ã\80\81å¾\8c"
+"述の B<CLONE_PARENT> の項も参照のこと)"
#. type: Plain text
-#: build/C/man2/clone.2:88
+#: build/C/man2/clone.2:114
msgid ""
"The main use of B<clone>() is to implement threads: multiple threads of "
"control in a program that run concurrently in a shared memory space."
"ログラムの中の複数のスレッドは共有されたメモリ空間で 同時に実行される。"
#. type: Plain text
-#: build/C/man2/clone.2:108
-#, fuzzy
-#| msgid ""
-#| "When the child process is created with B<clone>(), it executes the "
-#| "function application I<fn>(I<arg>). (This differs from B<fork>(2), where "
-#| "execution continues in the child from the point of the B<fork>(2) "
-#| "call.) The I<fn> argument is a pointer to a function that is called by "
-#| "the child process at the beginning of its execution. The I<arg> argument "
-#| "is passed to the I<fn> function."
+#: build/C/man2/clone.2:134
msgid ""
"When the child process is created with B<clone>(), it executes the function "
"I<fn>(I<arg>). (This differs from B<fork>(2), where execution continues in "
"る。 I<arg> 引き数はそのまま I<fn> 関数へと渡される。"
#. type: Plain text
-#: build/C/man2/clone.2:118
+#: build/C/man2/clone.2:144
msgid ""
"When the I<fn>(I<arg>) function application returns, the child process "
"terminates. The integer returned by I<fn> is the exit code for the child "
"る。"
#. type: Plain text
-#: build/C/man2/clone.2:134
+#: build/C/man2/clone.2:160
msgid ""
"The I<child_stack> argument specifies the location of the stack used by the "
"child process. Since the child and calling process may share memory, it is "
"ために用意したメモリ空間の一番大きい アドレスを指すようにする。"
#. type: Plain text
-#: build/C/man2/clone.2:150
+#: build/C/man2/clone.2:176
msgid ""
"The low byte of I<flags> contains the number of the I<termination signal> "
"sent to the parent when the child dies. If this signal is specified as "
"にシグナルは送られない。"
#. type: Plain text
-#: build/C/man2/clone.2:155
+#: build/C/man2/clone.2:181
msgid ""
"I<flags> may also be bitwise-or'ed with zero or more of the following "
"constants, in order to specify what is shared between the calling process "
"何を共有するかを指定する:"
#. type: TP
-#: build/C/man2/clone.2:155
+#: build/C/man2/clone.2:181
#, no-wrap
msgid "B<CLONE_CHILD_CLEARTID> (since Linux 2.5.49)"
msgstr "B<CLONE_CHILD_CLEARTID> (Linux 2.5.49 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:165
+#: build/C/man2/clone.2:191
msgid ""
"Erase child thread ID at location I<ctid> in child memory when the child "
"exits, and do a wakeup on the futex at that address. The address involved "
"この機能はスレッドライブラリで使用される。"
#. type: TP
-#: build/C/man2/clone.2:165
+#: build/C/man2/clone.2:191
#, no-wrap
msgid "B<CLONE_CHILD_SETTID> (since Linux 2.5.49)"
msgstr "B<CLONE_CHILD_SETTID> (Linux 2.5.49 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:170
+#: build/C/man2/clone.2:196
msgid "Store child thread ID at location I<ctid> in child memory."
msgstr ""
"子プロセスのメモリ内の I<ctid> が指す場所に子プロセスのスレッド ID を格納す"
"る。"
#. type: TP
-#: build/C/man2/clone.2:170
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_IO> (since Linux 2.6.25)"
+#: build/C/man2/clone.2:196
+#, no-wrap
msgid "B<CLONE_FILES> (since Linux 2.0)"
-msgstr "B<CLONE_IO> (Linux 2.6.25 以降)"
+msgstr "B<CLONE_FILES> (Linux 2.0 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:183
+#: build/C/man2/clone.2:209
msgid ""
"If B<CLONE_FILES> is set, the calling process and the child process share "
"the same file descriptor table. Any file descriptor created by the calling "
"もう一方のプロセスにも影響する。"
#. type: Plain text
-#: build/C/man2/clone.2:197
+#: build/C/man2/clone.2:223
msgid ""
"If B<CLONE_FILES> is not set, the child process inherits a copy of all file "
"descriptors opened in the calling process at the time of B<clone>(). (The "
"えない。"
#. type: TP
-#: build/C/man2/clone.2:197
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_IO> (since Linux 2.6.25)"
+#: build/C/man2/clone.2:223
+#, no-wrap
msgid "B<CLONE_FS> (since Linux 2.0)"
-msgstr "B<CLONE_IO> (Linux 2.6.25 以降)"
+msgstr "B<CLONE_FS> (Linux 2.0 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:212
+#: build/C/man2/clone.2:238
msgid ""
"If B<CLONE_FS> is set, the caller and the child process share the same file "
"system information. This includes the root of the file system, the current "
"方のプロセスにも影響が及ぶ。"
#. type: Plain text
-#: build/C/man2/clone.2:224
+#: build/C/man2/clone.2:250
msgid ""
"If B<CLONE_FS> is not set, the child process works on a copy of the file "
"system information of the calling process at the time of the B<clone>() "
"(2), B<umask>(2) を呼び出しても、もう一方のプロセスには影響を与えない。"
#. type: TP
-#: build/C/man2/clone.2:224
+#: build/C/man2/clone.2:250
#, no-wrap
msgid "B<CLONE_IO> (since Linux 2.6.25)"
msgstr "B<CLONE_IO> (Linux 2.6.25 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:233
+#: build/C/man2/clone.2:259
msgid ""
"If B<CLONE_IO> is set, then the new process shares an I/O context with the "
"calling process. If this flag is not set, then (as with B<fork>(2)) the "
#. the anticipatory and CFQ scheduler
#. with CFQ and AS.
#. type: Plain text
-#: build/C/man2/clone.2:250
+#: build/C/man2/clone.2:276
msgid ""
"The I/O context is the I/O scope of the disk scheduler (i.e, what the I/O "
"scheduler uses to model scheduling of a process's I/O). If processes share "
"B<CLONE_IO> を利用することで I/O 性能を良くすることができる。"
#. type: Plain text
-#: build/C/man2/clone.2:254
+#: build/C/man2/clone.2:280
msgid ""
"If the kernel is not configured with the B<CONFIG_BLOCK> option, this flag "
"is a no-op."
"意味も持たない。"
#. type: TP
-#: build/C/man2/clone.2:254 build/C/man2/unshare.2:78
+#: build/C/man2/clone.2:280 build/C/man2/unshare.2:96
#, no-wrap
msgid "B<CLONE_NEWIPC> (since Linux 2.6.19)"
msgstr "B<CLONE_NEWIPC> (Linux 2.6.19 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:264
+#: build/C/man2/clone.2:290
msgid ""
"If B<CLONE_NEWIPC> is set, then create the process in a new IPC namespace. "
"If this flag is not set, then (as with B<fork>(2)), the process is created "
#. commit 7eafd7c74c3f2e67c27621b987b28397110d643f
#. https://lwn.net/Articles/312232/
#. type: Plain text
-#: build/C/man2/clone.2:276
+#: build/C/man2/clone.2:302
msgid ""
"An IPC namespace provides an isolated view of System V IPC objects (see "
"B<svipc>(7)) and (since Linux 2.6.30) POSIX message queues (see "
"that IPC objects are identified by mechanisms other than filesystem "
"pathnames."
msgstr ""
+"IPC 名前空間は、独立の System V IPC オブジェクト空間 (B<svipc>(7) 参照) を提"
+"供する 。 (Linux 2.6.30 以降では) 独立した POSIX メッセージキュー空間 "
+"(B<mq_overview>(7) 参照) も提供される。 これらの IPC 機構に共通の特徴とし"
+"て、 IPC オブジェクトはファイルシステムのパス名とは違った仕組みで識別されると"
+"いう点がある。"
#. type: Plain text
-#: build/C/man2/clone.2:280
-#, fuzzy
-#| msgid ""
-#| "An IPC namespace consists of the set of identifiers for System V IPC "
-#| "objects. (These objects are created using B<msgctl>(2), B<semctl>(2), "
-#| "and B<shmctl>(2)). Objects created in an IPC namespace are visible to "
-#| "all other processes that are members of that namespace, but are not "
-#| "visible to processes in other IPC namespaces."
+#: build/C/man2/clone.2:306
msgid ""
"Objects created in an IPC namespace are visible to all other processes that "
"are members of that namespace, but are not visible to processes in other IPC "
"namespaces."
msgstr ""
-"IPC 名前空間は、System V IPC オブジェクト用の識別子 (identifiers) の 集合で構"
-"成される (System V IPC オブジェクトは B<msgctl>(2), B<semctl>(2), B<shmctl>"
-"(2) を使って作成される)。 ある IPC 名前空間に作成されたオブジェクトは、 その"
-"名前空間のメンバーである他のすべてのプロセスからも見えるが、 違う IPC 名前空"
-"間のプロセスからは見えない。"
+"ある IPC 名前空間に作成されたオブジェクトは、 その名前空間のメンバーである他"
+"のすべてのプロセスからも見えるが、 違う IPC 名前空間のプロセスからは見えな"
+"い。"
#. type: Plain text
-#: build/C/man2/clone.2:284
-#, fuzzy
-#| msgid ""
-#| "When an IPC namespace is destroyed (i.e, when the last process that is a "
-#| "member of the namespace terminates), all IPC objects in the namespace are "
-#| "automatically destroyed."
+#: build/C/man2/clone.2:310
msgid ""
"When an IPC namespace is destroyed (i.e., when the last process that is a "
"member of the namespace terminates), all IPC objects in the namespace are "
"が終了する時)、 その名前空間の全ての IPC オブジェクトは自動的に破棄される。"
#. type: Plain text
-#: build/C/man2/clone.2:293
+#: build/C/man2/clone.2:319
msgid ""
"Use of this flag requires: a kernel configured with the B<CONFIG_SYSVIPC> "
"and B<CONFIG_IPC_NS> options and that the process be privileged "
"うことはできない。"
#. type: TP
-#: build/C/man2/clone.2:293 build/C/man2/unshare.2:95
+#: build/C/man2/clone.2:319 build/C/man2/unshare.2:113
#, no-wrap
msgid "B<CLONE_NEWNET> (since Linux 2.6.24)"
msgstr "B<CLONE_NEWNET> (Linux 2.6.24 以降)"
#. FIXME Check when the implementation was completed
#. type: Plain text
-#: build/C/man2/clone.2:298
+#: build/C/man2/clone.2:324
msgid ""
-"(The implementation of this flag was only completed by about kernel version "
+"(The implementation of this flag was completed only by about kernel version "
"2.6.29.)"
-msgstr "(このフラグの実装は、Linux 2.6.29 あたりまでに完成した。)"
+msgstr "(このフラグの実装は、Linux 2.6.29 あたりまでには完成した。)"
#. type: Plain text
-#: build/C/man2/clone.2:307
+#: build/C/man2/clone.2:333
msgid ""
"If B<CLONE_NEWNET> is set, then create the process in a new network "
"namespace. If this flag is not set, then (as with B<fork>(2)), the process "
#. FIXME Add pointer to veth(4) page when it is eventually completed
#. type: Plain text
-#: build/C/man2/clone.2:322
+#: build/C/man2/clone.2:348
msgid ""
"A network namespace provides an isolated view of the networking stack "
"(network device interfaces, IPv4 and IPv6 protocol stacks, IP routing "
"リッジを作成したり することができる。"
#. type: Plain text
-#: build/C/man2/clone.2:327
+#: build/C/man2/clone.2:353
msgid ""
"When a network namespace is freed (i.e., when the last process in the "
"namespace terminates), its physical network devices are moved back to the "
"はない)。"
#. type: Plain text
-#: build/C/man2/clone.2:332
+#: build/C/man2/clone.2:358
msgid ""
"Use of this flag requires: a kernel configured with the B<CONFIG_NET_NS> "
"option and that the process be privileged (B<CAP_SYS_ADMIN>)."
"ある。"
#. type: TP
-#: build/C/man2/clone.2:332
+#: build/C/man2/clone.2:358
#, no-wrap
msgid "B<CLONE_NEWNS> (since Linux 2.4.19)"
msgstr "B<CLONE_NEWNS> (Linux 2.4.19 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:335
+#: build/C/man2/clone.2:361
msgid "Start the child in a new mount namespace."
msgstr "子プロセスを新しいマウント名前空間 (mount namespace) で開始する。"
#. type: Plain text
-#: build/C/man2/clone.2:356
+#: build/C/man2/clone.2:382
msgid ""
"Every process lives in a mount namespace. The I<namespace> of a process is "
"the data (the set of mounts) describing the file hierarchy as seen by that "
"受けない。"
#. type: Plain text
-#: build/C/man2/clone.2:363
+#: build/C/man2/clone.2:389
msgid ""
"After a B<clone>() where the B<CLONE_NEWNS> flag is set, the cloned child "
"is started in a new mount namespace, initialized with a copy of the "
"スの名前空間のコピーで初期化される。"
#. type: Plain text
-#: build/C/man2/clone.2:375
+#: build/C/man2/clone.2:401
msgid ""
"Only a privileged process (one having the B<CAP_SYS_ADMIN> capability) may "
"specify the B<CLONE_NEWNS> flag. It is not permitted to specify both "
"で、 B<CLONE_NEWNS> と B<CLONE_FS> の両方を指定することはできない。"
#. type: TP
-#: build/C/man2/clone.2:375
+#: build/C/man2/clone.2:401
#, no-wrap
msgid "B<CLONE_NEWPID> (since Linux 2.6.24)"
msgstr "B<CLONE_NEWPID> (Linux 2.6.24 以降)"
#. The primary kernel commit is 30e49c263e36341b60b735cbef5ca37912549264
#. Author: Pavel Emelyanov <xemul@openvz.org>
#. type: Plain text
-#: build/C/man2/clone.2:392
+#: build/C/man2/clone.2:418
msgid ""
"If B<CLONE_NEWPID> is set, then create the process in a new PID namespace. "
"If this flag is not set, then (as with B<fork>(2)), the process is created "
"装での使用を意図して用意されたものである。"
#. type: Plain text
-#: build/C/man2/clone.2:401
+#: build/C/man2/clone.2:427
msgid ""
"A PID namespace provides an isolated environment for PIDs: PIDs in a new "
"namespace start at 1, somewhat like a standalone system, and calls to B<fork>"
"な PID を持ったプロセスが作成される。"
#. type: Plain text
-#: build/C/man2/clone.2:413
+#: build/C/man2/clone.2:439
msgid ""
"The first process created in a new namespace (i.e., the process created "
"using the B<CLONE_NEWPID> flag) has the PID 1, and is the \"init\" process "
"了される。"
#. type: Plain text
-#: build/C/man2/clone.2:432
+#: build/C/man2/clone.2:458
msgid ""
"PID namespaces form a hierarchy. When a new PID namespace is created, the "
"processes in that namespace are visible in the PID namespace of the process "
#. mount -t proc proc /proc
#. type: Plain text
-#: build/C/man2/clone.2:448
+#: build/C/man2/clone.2:474
msgid ""
"After creating the new namespace, it is useful for the child to change its "
"root directory and mount a new procfs instance at I</proc> so that tools "
"る。)"
#. type: Plain text
-#: build/C/man2/clone.2:455
+#: build/C/man2/clone.2:481
msgid ""
"Use of this flag requires: a kernel configured with the B<CONFIG_PID_NS> "
"option and that the process be privileged (B<CAP_SYS_ADMIN>). This flag "
"ある。 このフラグは B<CLONE_THREAD> と組み合わせて使うことはできない。"
#. type: TP
-#: build/C/man2/clone.2:455 build/C/man2/unshare.2:131
+#: build/C/man2/clone.2:481 build/C/man2/unshare.2:149
#, no-wrap
msgid "B<CLONE_NEWUTS> (since Linux 2.6.19)"
msgstr "B<CLONE_NEWUTS> (Linux 2.6.19 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:467
+#: build/C/man2/clone.2:493
msgid ""
"If B<CLONE_NEWUTS> is set, then create the process in a new UTS namespace, "
"whose identifiers are initialized by duplicating the identifiers from the "
"る。 このフラグは、コンテナの実装での使用を意図して用意されたものである。"
#. type: Plain text
-#: build/C/man2/clone.2:479
+#: build/C/man2/clone.2:505
msgid ""
"A UTS namespace is the set of identifiers returned by B<uname>(2); among "
"these, the domain name and the host name can be modified by B<setdomainname>"
"のすべての プロセスに見えるが、別の UTS 名前空間のプロセスには見えない。"
#. type: Plain text
-#: build/C/man2/clone.2:484
+#: build/C/man2/clone.2:510
msgid ""
"Use of this flag requires: a kernel configured with the B<CONFIG_UTS_NS> "
"option and that the process be privileged (B<CAP_SYS_ADMIN>)."
"ある。"
#. type: TP
-#: build/C/man2/clone.2:484
+#: build/C/man2/clone.2:510
#, no-wrap
msgid "B<CLONE_PARENT> (since Linux 2.3.12)"
msgstr "B<CLONE_PARENT> (Linux 2.3.12 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:491
+#: build/C/man2/clone.2:517
msgid ""
"If B<CLONE_PARENT> is set, then the parent of the new child (as returned by "
"B<getppid>(2)) will be the same as that of the calling process."
"プロセスは呼び出し元のプロセスの親プロセスと同じになる。"
#. type: Plain text
-#: build/C/man2/clone.2:497
+#: build/C/man2/clone.2:523
msgid ""
"If B<CLONE_PARENT> is not set, then (as with B<fork>(2)) the child's parent "
"is the calling process."
"プロセスがその子供の親になる。"
#. type: Plain text
-#: build/C/man2/clone.2:505
+#: build/C/man2/clone.2:531
msgid ""
"Note that it is the parent process, as returned by B<getppid>(2), which is "
"signaled when the child terminates, so that if B<CLONE_PARENT> is set, then "
"ロセスではなく呼び出し元のプロセスの 親プロセスにシグナルが送られる。"
#. type: TP
-#: build/C/man2/clone.2:505
+#: build/C/man2/clone.2:531
#, no-wrap
msgid "B<CLONE_PARENT_SETTID> (since Linux 2.5.49)"
msgstr "B<CLONE_PARENT_SETTID> (Linux 2.5.49 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:513
+#: build/C/man2/clone.2:539
msgid ""
"Store child thread ID at location I<ptid> in parent and child memory. (In "
"Linux 2.5.32-2.5.48 there was a flag B<CLONE_SETTID> that did this.)"
"いうフラグが存在した。)"
#. type: TP
-#: build/C/man2/clone.2:513
+#: build/C/man2/clone.2:539
#, no-wrap
msgid "B<CLONE_PID> (obsolete)"
msgstr "B<CLONE_PID> (廃止予定)"
#. type: Plain text
-#: build/C/man2/clone.2:524
+#: build/C/man2/clone.2:550
msgid ""
"If B<CLONE_PID> is set, the child process is created with the same process "
"ID as the calling process. This is good for hacking the system, but "
"0) だけがこのフラグを指定できる。 Linux 2.5.16 で削除された。"
#. type: TP
-#: build/C/man2/clone.2:524
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_UNTRACED> (since Linux 2.5.46)"
+#: build/C/man2/clone.2:550
+#, no-wrap
msgid "B<CLONE_PTRACE> (since Linux 2.2)"
-msgstr "B<CLONE_UNTRACED> (Linux 2.5.46 以降)"
+msgstr "B<CLONE_PTRACE> (Linux 2.2 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:531
+#: build/C/man2/clone.2:557
msgid ""
"If B<CLONE_PTRACE> is specified, and the calling process is being traced, "
"then trace the child also (see B<ptrace>(2))."
"場合、子プロセスも 同様に追跡される。 (B<ptrace>(2) を参照のこと)"
#. type: TP
-#: build/C/man2/clone.2:531
+#: build/C/man2/clone.2:557
#, no-wrap
msgid "B<CLONE_SETTLS> (since Linux 2.5.32)"
msgstr "B<CLONE_SETTLS> (Linux 2.5.32 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:538
+#: build/C/man2/clone.2:564
msgid ""
"The I<newtls> argument is the new TLS (Thread Local Storage) descriptor. "
"(See B<set_thread_area>(2).)"
"(B<set_thread_area>(2) を参照のこと)"
#. type: TP
-#: build/C/man2/clone.2:538
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_IO> (since Linux 2.6.25)"
+#: build/C/man2/clone.2:564
+#, no-wrap
msgid "B<CLONE_SIGHAND> (since Linux 2.0)"
-msgstr "B<CLONE_IO> (Linux 2.6.25 以降)"
+msgstr "B<CLONE_SIGHAND> (Linux 2.0 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:554
+#: build/C/man2/clone.2:580
msgid ""
"If B<CLONE_SIGHAND> is set, the calling process and the child process share "
"the same table of signal handlers. If the calling process or child process "
"(unblock) したりできる。"
#. type: Plain text
-#: build/C/man2/clone.2:565
+#: build/C/man2/clone.2:591
msgid ""
"If B<CLONE_SIGHAND> is not set, the child process inherits a copy of the "
"signal handlers of the calling process at the time B<clone>() is called. "
"には影響を与えない。"
#. type: Plain text
-#: build/C/man2/clone.2:573
+#: build/C/man2/clone.2:599
msgid ""
"Since Linux 2.6.0-test6, I<flags> must also include B<CLONE_VM> if "
"B<CLONE_SIGHAND> is specified"
"も I<flags> に含めなければならない。"
#. type: TP
-#: build/C/man2/clone.2:573
+#: build/C/man2/clone.2:599
#, no-wrap
msgid "B<CLONE_STOPPED> (since Linux 2.6.0-test2)"
msgstr "B<CLONE_STOPPED> (Linux 2.6.0-test2 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:582
+#: build/C/man2/clone.2:608
msgid ""
"If B<CLONE_STOPPED> is set, then the child is initially stopped (as though "
"it was sent a B<SIGSTOP> signal), and must be resumed by sending it a "
#. glibc 2.8 removed this defn from bits/sched.h
#. type: Plain text
-#: build/C/man2/clone.2:590
+#: build/C/man2/clone.2:616
msgid ""
"This flag was I<deprecated> from Linux 2.6.25 onward, and was I<removed> "
"altogether in Linux 2.6.38."
"Linux 2.6.38 で完全にI<削除>された。"
#. type: TP
-#: build/C/man2/clone.2:590
+#: build/C/man2/clone.2:616
#, no-wrap
msgid "B<CLONE_SYSVSEM> (since Linux 2.5.10)"
msgstr "B<CLONE_SYSVSEM> (Linux 2.5.10 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:599
+#: build/C/man2/clone.2:625
msgid ""
"If B<CLONE_SYSVSEM> is set, then the child and the calling process share a "
"single list of System V semaphore undo values (see B<semop>(2)). If this "
"初期値は空である)。"
#. type: TP
-#: build/C/man2/clone.2:599
+#: build/C/man2/clone.2:625
#, no-wrap
msgid "B<CLONE_THREAD> (since Linux 2.4.0-test8)"
msgstr "B<CLONE_THREAD> (Linux 2.4.0-test8以降)"
#. type: Plain text
-#: build/C/man2/clone.2:608
+#: build/C/man2/clone.2:634
msgid ""
"If B<CLONE_THREAD> is set, the child is placed in the same thread group as "
"the calling process. To make the remainder of the discussion of "
"するのに使うこととする。"
#. type: Plain text
-#: build/C/man2/clone.2:616
+#: build/C/man2/clone.2:642
msgid ""
"Thread groups were a feature added in Linux 2.4 to support the POSIX threads "
"notion of a set of threads that share a single PID. Internally, this shared "
"のスレッド・グループ ID を返す。"
#. type: Plain text
-#: build/C/man2/clone.2:625
+#: build/C/man2/clone.2:651
msgid ""
"The threads within a group can be distinguished by their (system-wide) "
"unique thread IDs (TID). A new thread's TID is available as the function "
"返され、 スレッドは自分自身の TID を B<gettid>(2) で取得できる。"
#. type: Plain text
-#: build/C/man2/clone.2:635
+#: build/C/man2/clone.2:661
msgid ""
"When a call is made to B<clone>() without specifying B<CLONE_THREAD>, then "
"the resulting thread is placed in a new thread group whose TGID is the same "
"に置かれる。このスレッドは 新しいスレッド・グループの「リーダー」である。"
#. type: Plain text
-#: build/C/man2/clone.2:657
+#: build/C/man2/clone.2:683
msgid ""
"A new thread created with B<CLONE_THREAD> has the same parent process as the "
"caller of B<clone>() (i.e., like B<CLONE_PARENT>), so that calls to "
"る)。"
#. type: Plain text
-#: build/C/man2/clone.2:662
+#: build/C/man2/clone.2:688
msgid ""
"After all of the threads in a thread group terminate the parent process of "
"the thread group is sent a B<SIGCHLD> (or other termination) signal."
"親プロセスに B<SIGCHLD> (もしくは他の終了シグナル) が送られる。"
#. type: Plain text
-#: build/C/man2/clone.2:667
+#: build/C/man2/clone.2:693
msgid ""
"If any of the threads in a thread group performs an B<execve>(2), then all "
"threads other than the thread group leader are terminated, and the new "
"のスレッド・グループ・リーダーの下で 実行される。"
#. type: Plain text
-#: build/C/man2/clone.2:673
+#: build/C/man2/clone.2:699
msgid ""
"If one of the threads in a thread group creates a child using B<fork>(2), "
"then any thread in the group can B<wait>(2) for that child."
"できる。"
#. type: Plain text
-#: build/C/man2/clone.2:681
+#: build/C/man2/clone.2:707
msgid ""
"Since Linux 2.5.35, I<flags> must also include B<CLONE_SIGHAND> if "
"B<CLONE_THREAD> is specified."
"B<CLONE_SIGHAND> も含まれていなければならない。"
#. type: Plain text
-#: build/C/man2/clone.2:686
+#: build/C/man2/clone.2:712
msgid ""
"Signals may be sent to a thread group as a whole (i.e., a TGID) using B<kill>"
"(2), or to a specific thread (i.e., TID) using B<tgkill>(2)."
"ることもできる。"
#. type: Plain text
-#: build/C/man2/clone.2:691
+#: build/C/man2/clone.2:717
msgid ""
"Signal dispositions and actions are process-wide: if an unhandled signal is "
"delivered to a thread, then it will affect (terminate, stop, continue, be "
"に影響を及ぼす (終了したり、停止したり、動作を継続したり、無視されたりする)。"
#. type: Plain text
-#: build/C/man2/clone.2:704
+#: build/C/man2/clone.2:730
msgid ""
"Each thread has its own signal mask, as set by B<sigprocmask>(2), but "
"signals can be pending either: for the whole process (i.e., deliverable to "
"し元の スレッドに対する処理待ちシグナルを結合したシグナル集合が返される。"
#. type: Plain text
-#: build/C/man2/clone.2:716
+#: build/C/man2/clone.2:742
msgid ""
"If B<kill>(2) is used to send a signal to a thread group, and the thread "
"group has installed a handler for the signal, then the handler will be "
"し、 そのスレッドが B<kill (2)> を使って送信されたシグナルを受信する。"
#. type: TP
-#: build/C/man2/clone.2:716
+#: build/C/man2/clone.2:742
#, no-wrap
msgid "B<CLONE_UNTRACED> (since Linux 2.5.46)"
msgstr "B<CLONE_UNTRACED> (Linux 2.5.46 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:723
+#: build/C/man2/clone.2:749
msgid ""
"If B<CLONE_UNTRACED> is specified, then a tracing process cannot force "
"B<CLONE_PTRACE> on this child process."
"スに B<CLONE_PTRACE> を適用することができない。"
#. type: TP
-#: build/C/man2/clone.2:723
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_IO> (since Linux 2.6.25)"
+#: build/C/man2/clone.2:749
+#, no-wrap
msgid "B<CLONE_VFORK> (since Linux 2.2)"
-msgstr "B<CLONE_IO> (Linux 2.6.25 以降)"
+msgstr "B<CLONE_VFORK> (Linux 2.2 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:735
+#: build/C/man2/clone.2:761
msgid ""
"If B<CLONE_VFORK> is set, the execution of the calling process is suspended "
"until the child releases its virtual memory resources via a call to B<execve>"
"元のプロセスの実行は停止される。"
#. type: Plain text
-#: build/C/man2/clone.2:741
+#: build/C/man2/clone.2:767
msgid ""
"If B<CLONE_VFORK> is not set then both the calling process and the child are "
"schedulable after the call, and an application should not rely on execution "
"らのプロセスの 実行順序に依存しないようにすべきである。"
#. type: TP
-#: build/C/man2/clone.2:741
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_SYSVSEM> (since Linux 2.5.10)"
+#: build/C/man2/clone.2:767
+#, no-wrap
msgid "B<CLONE_VM> (since Linux 2.0)"
-msgstr "B<CLONE_SYSVSEM> (Linux 2.5.10 以降)"
+msgstr "B<CLONE_VM> (Linux 2.0 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:754
+#: build/C/man2/clone.2:780
msgid ""
"If B<CLONE_VM> is set, the calling process and the child process run in the "
"same memory space. In particular, memory writes performed by the calling "
"プしたりアンマップした場合、 もう一方のプロセスにも影響が及ぶ。"
#. type: Plain text
-#: build/C/man2/clone.2:763
+#: build/C/man2/clone.2:789
msgid ""
"If B<CLONE_VM> is not set, the child process runs in a separate copy of the "
"memory space of the calling process at the time of B<clone>(). Memory "
"(2) の場合と同様、もう一方のプロセスには影響しない。"
#. type: SS
-#: build/C/man2/clone.2:763
+#: build/C/man2/clone.2:789
#, no-wrap
-msgid "sys_clone"
-msgstr "sys_clone"
+msgid "The raw system call interface"
+msgstr "素のシステムコールのインターフェース"
#. type: Plain text
-#: build/C/man2/clone.2:779
-#, fuzzy
-#| msgid ""
-#| "The B<sys_clone> system call corresponds more closely to B<fork>(2) in "
-#| "that execution in the child continues from the point of the call. Thus, "
-#| "B<sys_clone> only requires the I<flags> and I<child_stack> arguments, "
-#| "which have the same meaning as for B<clone>(). (Note that the order of "
-#| "these arguments differs from B<clone>().)"
-msgid ""
-"The B<sys_clone> system call corresponds more closely to B<fork>(2) in that "
-"execution in the child continues from the point of the call. As such, the "
-"I<fn> and I<arg> arguments of the B<clone>() wrapper function are omitted. "
-"Furthermore, the argument order changes. The raw system call interface is "
-"roughly:"
-msgstr ""
-"B<sys_clone> システムコールは、より B<fork>(2) に近いかたちになっており、子"
-"プロセスの実行が呼び出しが行われた場所から 続けられる。 そのため、 "
-"B<sys_clone> が必要とする引き数は I<flags> と I<child_stack> だけであり、それ"
-"らは B<clone>() と同じ意味を持つ (これらの引き数の順番は B<clone>() とは異"
-"なることに注意せよ)。"
-
-#. type: Plain text
-#: build/C/man2/clone.2:785
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int clone(int (*>I<fn>B<)(void *), void *>I<child_stack>B<,>\n"
-#| "B< int >I<flags>B<, void *>I<arg>B<, ... >\n"
-#| "B< /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
+#: build/C/man2/clone.2:805
+msgid ""
+"The raw B<clone>() system call corresponds more closely to B<fork>(2) in "
+"that execution in the child continues from the point of the call. As such, "
+"the I<fn> and I<arg> arguments of the B<clone>() wrapper function are "
+"omitted. Furthermore, the argument order changes. The raw system call "
+"interface on x86 and many other architectures is roughly:"
+msgstr ""
+"素の B<clone> システムコールは、より B<fork>(2) に近いかたちになっており、 子"
+"プロセスの実行が呼び出しが行われた場所から続けられる。 そのため、 B<clone>() "
+"ラッパー関数の引き数 I<fn> と I<arg> は省略される。 また、 引き数の順序も違っ"
+"ている。 x86 と他の多くのアーキテクチャにおける、 素のシステムコールのイン"
+"ターフェースは、 おおまかには次のようになっている。"
+
+#. type: Plain text
+#: build/C/man2/clone.2:811
+#, no-wrap
msgid ""
"B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
"B< void *>I<ptid>B<, void *>I<ctid>B<,>\n"
"B< struct pt_regs *>I<regs>B<);>\n"
msgstr ""
-"B<int clone(int (*>I<fn>B<)(void *), void *>I<child_stack>B<,>\n"
-"B< int >I<flags>B<, void *>I<arg>B<, ... >\n"
-"B< /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
+"B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
+"B< void *>I<ptid>B<, void *>I<ctid>B<,>\n"
+"B< struct pt_regs *>I<regs>B<);>\n"
#. type: Plain text
-#: build/C/man2/clone.2:798
+#: build/C/man2/clone.2:822
msgid ""
-"Another difference for B<sys_clone> is that the I<child_stack> argument may "
-"be zero, in which case copy-on-write semantics ensure that the child gets "
-"separate copies of stack pages when either process modifies the stack. In "
-"this case, for correct operation, the B<CLONE_VM> option should not be "
-"specified."
+"Another difference for the raw system call is that the I<child_stack> "
+"argument may be zero, in which case copy-on-write semantics ensure that the "
+"child gets separate copies of stack pages when either process modifies the "
+"stack. In this case, for correct operation, the B<CLONE_VM> option should "
+"not be specified."
msgstr ""
-"B<sys_clone> のもう一つの違いは、 I<child_stack> 引き数がゼロでも良いことであ"
-"ã\82\8bã\80\82ã\81\93ã\81®å ´å\90\88ã\81«ã\81¯ã\80\81ã\81©ã\81¡ã\82\89ã\81\8bã\81®ã\83\97ã\83ã\82»ã\82¹ã\81\8c ã\82¹ã\82¿ã\83\83ã\82¯ã\82\92å¤\89æ\9b´ã\81\97ã\81\9fæ\99\82ã\81«ã\80\81æ\9b¸ã\81\8dè¾¼ã\81¿æ\99\82ã\82³"
-"ピー (copy-on-write) 方式により 子プロセスがスタック・ページの独立したコピー"
-"を得られることが保証される。 この場合、正常に動作させるためには、 "
+"生のシステムコールのもう一つの違いは、 I<child_stack> 引き数がゼロでも良いこ"
+"ã\81¨ã\81§ã\81\82ã\82\8bã\80\82ã\81\93ã\81®å ´å\90\88ã\81«ã\81¯ã\80\81ã\81©ã\81¡ã\82\89ã\81\8bã\81®ã\83\97ã\83ã\82»ã\82¹ã\81\8c ã\82¹ã\82¿ã\83\83ã\82¯ã\82\92å¤\89æ\9b´ã\81\97ã\81\9fæ\99\82ã\81«ã\80\81æ\9b¸ã\81\8dè¾¼ã\81¿"
+"時コピー (copy-on-write) 方式により 子プロセスがスタック・ページの独立したコ"
+"ã\83\94ã\83¼ã\82\92å¾\97ã\82\89ã\82\8cã\82\8bã\81\93ã\81¨ã\81\8cä¿\9d証ã\81\95ã\82\8cã\82\8bã\80\82 ã\81\93ã\81®å ´å\90\88ã\80\81æ£å¸¸ã\81«å\8b\95ä½\9cã\81\95ã\81\9bã\82\8bã\81\9fã\82\81ã\81«ã\81¯ã\80\81 "
"B<CLONE_VM> オプションを指定してはならない。"
+#. type: Plain text
+#: build/C/man2/clone.2:830
+msgid ""
+"For some architectures, the order of the arguments for the system call "
+"differs from that shown above. On the score, microblaze, ARM, ARM 64, PA-"
+"RISC, arc, Power PC, xtensa, and MIPS architectures, the order of the fourth "
+"and fifth arguments is reversed. On the cris and s390 architectures, the "
+"order of the first and second arguments is reversed."
+msgstr ""
+"いくつかのアーキテクチャでは、システムコールの引き数の順序は上記とは異なって"
+"いる。 microblaze, ARM, ARM 64, PA-RISC, arc, Power PC, xtensa, MIPS アーキテ"
+"クチャでは、 4 番目と 5 番目の引き数の順番が逆である。 cris と s390 アーキテ"
+"クチャでは、最初と 2 番目の引き数の順番が逆である。"
+
#. type: SS
-#: build/C/man2/clone.2:798
+#: build/C/man2/clone.2:830
#, no-wrap
-msgid "Linux 2.4 and earlier"
+msgid "blackfin, m68k, and sparc"
+msgstr "blackfin, m68k, sparc"
+
+#. type: Plain text
+#: build/C/man2/clone.2:834
+msgid ""
+"The argument-passing conventions on blackfin, m68k, and sparc are different "
+"from descriptions above. For details, see the kernel (and glibc) source."
+msgstr ""
+"blackfin, m68k, sparc では引き数渡しの規約が上記の説明とは異なる。 詳細は、"
+"カーネル (と glibc) のソースを参照のこと。"
+
+#. type: SS
+#: build/C/man2/clone.2:834
+#, no-wrap
+msgid "ia64"
+msgstr "ia64"
+
+#. type: Plain text
+#: build/C/man2/clone.2:836
+msgid "On ia64, a different interface is used:"
+msgstr "ia64 では、別のインターフェースが使用される:"
+
+#. type: Plain text
+#: build/C/man2/clone.2:843
+#, no-wrap
+msgid ""
+"B<int __clone2(int (*>I<fn>B<)(void *), >\n"
+"B< void *>I<child_stack_base>B<, size_t >I<stack_size>B<,>\n"
+"B< int >I<flags>B<, void *>I<arg>B<, ... >\n"
+"B< /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
msgstr ""
+"B<int __clone2(int (*>I<fn>B<)(void *), >\n"
+"B< void *>I<child_stack_base>B<, size_t >I<stack_size>B<,>\n"
+"B< int >I<flags>B<, void *>I<arg>B<, ... >\n"
+"B< /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
#. type: Plain text
-#: build/C/man2/clone.2:806
+#: build/C/man2/clone.2:855
+msgid ""
+"The prototype shown above is for the glibc wrapper function; the raw system "
+"call interface has no I<fn> or I<arg> argument, and changes the order of the "
+"arguments so that I<flags> is the first argument, and I<tls> is the last "
+"argument."
+msgstr ""
+"上記のプロトタイプは glibc ラッパー関数用のものである。 素のシステムコールの"
+"インターフェースには引き数 I<fn> と I<arg> がない。 また、引き数の順序が変わ"
+"り、 I<flags> が最初の引き数で、 I<tls> が最後の引き数である。"
+
+#. type: Plain text
+#: build/C/man2/clone.2:866
+msgid ""
+"B<__clone2>() operates in the same way as B<clone>(), except that "
+"I<child_stack_base> points to the lowest address of the child's stack area, "
+"and I<stack_size> specifies the size of the stack pointed to by "
+"I<child_stack_base>."
+msgstr ""
+"B<__clone2>() は B<clone>() と同じように動作するが、以下の点が異なる: "
+"I<child_stack_base> は子プロセスのスタックエリアの最小のアドレスを指し、 "
+"I<stack_size> は I<child_stack_base> が指し示すスタックエリアの大きさを示す。"
+
+#. type: SS
+#: build/C/man2/clone.2:866
+#, no-wrap
+msgid "Linux 2.4 and earlier"
+msgstr "Linux 2.4 以前"
+
+#. type: Plain text
+#: build/C/man2/clone.2:874
msgid ""
"In Linux 2.4 and earlier, B<clone>() does not take arguments I<ptid>, "
"I<tls>, and I<ctid>."
#. gettid(2) returns current->pid;
#. getpid(2) returns current->tgid;
#. type: Plain text
-#: build/C/man2/clone.2:815
+#: build/C/man2/clone.2:883
msgid ""
"On success, the thread ID of the child process is returned in the caller's "
"thread of execution. On failure, -1 is returned in the caller's context, no "
"成されず、 I<errno> が適切に設定される。"
#. type: SH
-#: build/C/man2/clone.2:815 build/C/man2/kcmp.2:167
-#: build/C/man2/sched_get_priority_max.2:96 build/C/man3/sched_getcpu.3:47
+#: build/C/man2/clone.2:883 build/C/man2/kcmp.2:167
+#: build/C/man2/sched_get_priority_max.2:108 build/C/man3/sched_getcpu.3:65
#: build/C/man2/sched_rr_get_interval.2:80
#: build/C/man2/sched_setaffinity.2:116 build/C/man2/sched_setparam.2:96
#: build/C/man2/sched_setscheduler.2:432 build/C/man2/sched_yield.2:48
-#: build/C/man2/setns.2:77 build/C/man2/unshare.2:194
+#: build/C/man2/setns.2:77 build/C/man2/unshare.2:212
#, no-wrap
msgid "ERRORS"
msgstr "エラー"
#. type: TP
-#: build/C/man2/clone.2:816
+#: build/C/man2/clone.2:884
#, no-wrap
msgid "B<EAGAIN>"
msgstr "B<EAGAIN>"
#. type: Plain text
-#: build/C/man2/clone.2:819
+#: build/C/man2/clone.2:887
msgid "Too many processes are already running."
msgstr "すでに実行中のプロセスが多すぎる。"
#. type: TP
-#: build/C/man2/clone.2:819 build/C/man2/clone.2:826 build/C/man2/clone.2:841
-#: build/C/man2/clone.2:849 build/C/man2/clone.2:857 build/C/man2/clone.2:865
-#: build/C/man2/clone.2:871 build/C/man2/clone.2:881 build/C/man2/clone.2:889
-#: build/C/man2/clone.2:897 build/C/man2/kcmp.2:178
-#: build/C/man2/sched_get_priority_max.2:97
+#: build/C/man2/clone.2:887 build/C/man2/clone.2:894 build/C/man2/clone.2:909
+#: build/C/man2/clone.2:917 build/C/man2/clone.2:925 build/C/man2/clone.2:933
+#: build/C/man2/clone.2:939 build/C/man2/clone.2:949 build/C/man2/clone.2:957
+#: build/C/man2/clone.2:965 build/C/man2/kcmp.2:178
+#: build/C/man2/sched_get_priority_max.2:109
#: build/C/man2/sched_rr_get_interval.2:84
#: build/C/man2/sched_setaffinity.2:120 build/C/man2/sched_setaffinity.2:128
#: build/C/man2/sched_setparam.2:97 build/C/man2/sched_setscheduler.2:433
-#: build/C/man2/setns.2:82 build/C/man2/unshare.2:195
+#: build/C/man2/setns.2:82 build/C/man2/unshare.2:213
#, no-wrap
msgid "B<EINVAL>"
msgstr "B<EINVAL>"
#. type: Plain text
-#: build/C/man2/clone.2:826
+#: build/C/man2/clone.2:894
msgid ""
"B<CLONE_SIGHAND> was specified, but B<CLONE_VM> was not. (Since Linux 2.6.0-"
"test6.)"
#. was specified.
#. (Since Linux 2.6.0-test6.)
#. type: Plain text
-#: build/C/man2/clone.2:841
+#: build/C/man2/clone.2:909
msgid ""
"B<CLONE_THREAD> was specified, but B<CLONE_SIGHAND> was not. (Since Linux "
"2.5.35.)"
"た。 (Linux 2.5.35 以降)"
#. type: Plain text
-#: build/C/man2/clone.2:849
+#: build/C/man2/clone.2:917
msgid "Both B<CLONE_FS> and B<CLONE_NEWNS> were specified in I<flags>."
msgstr "B<CLONE_FS> と B<CLONE_NEWNS> の両方が I<flags> に指定された。"
#. type: Plain text
-#: build/C/man2/clone.2:857
+#: build/C/man2/clone.2:925
msgid "Both B<CLONE_NEWIPC> and B<CLONE_SYSVSEM> were specified in I<flags>."
msgstr "B<CLONE_NEWIPC> と B<CLONE_SYSVSEM> の両方が I<flags> に指定された。"
#. type: Plain text
-#: build/C/man2/clone.2:865
+#: build/C/man2/clone.2:933
msgid "Both B<CLONE_NEWPID> and B<CLONE_THREAD> were specified in I<flags>."
msgstr "B<CLONE_NEWPID> と B<CLONE_THREAD> の両方が I<flags> に指定された。"
#. type: Plain text
-#: build/C/man2/clone.2:871
+#: build/C/man2/clone.2:939
msgid ""
"Returned by B<clone>() when a zero value is specified for I<child_stack>."
msgstr "I<child_stack> にゼロを指定した場合に B<clone>() が返す。"
#. type: Plain text
-#: build/C/man2/clone.2:881
+#: build/C/man2/clone.2:949
msgid ""
"B<CLONE_NEWIPC> was specified in I<flags>, but the kernel was not configured "
"with the B<CONFIG_SYSVIPC> and B<CONFIG_IPC_NS> options."
"B<CONFIG_SYSVIPC> と B<CONFIG_IPC_NS> が有効になっていなかった。"
#. type: Plain text
-#: build/C/man2/clone.2:889
+#: build/C/man2/clone.2:957
msgid ""
"B<CLONE_NEWNET> was specified in I<flags>, but the kernel was not configured "
"with the B<CONFIG_NET_NS> option."
"B<CONFIG_NET_NS> が有効になっていなかった。"
#. type: Plain text
-#: build/C/man2/clone.2:897
+#: build/C/man2/clone.2:965
msgid ""
"B<CLONE_NEWPID> was specified in I<flags>, but the kernel was not configured "
"with the B<CONFIG_PID_NS> option."
"B<CONFIG_PID_NS> が有効になっていなかった。"
#. type: Plain text
-#: build/C/man2/clone.2:905
+#: build/C/man2/clone.2:973
msgid ""
"B<CLONE_NEWUTS> was specified in I<flags>, but the kernel was not configured "
"with the B<CONFIG_UTS> option."
"B<CONFIG_UTS> が有効になっていなかった。"
#. type: TP
-#: build/C/man2/clone.2:905 build/C/man2/setns.2:89 build/C/man2/unshare.2:199
+#: build/C/man2/clone.2:973 build/C/man2/setns.2:89 build/C/man2/unshare.2:217
#, no-wrap
msgid "B<ENOMEM>"
msgstr "B<ENOMEM>"
#. type: Plain text
-#: build/C/man2/clone.2:910
+#: build/C/man2/clone.2:978
msgid ""
"Cannot allocate sufficient memory to allocate a task structure for the "
"child, or to copy those parts of the caller's context that need to be copied."
"コピーするのに必要なメモリを十分に割り当てることができない。"
#. type: TP
-#: build/C/man2/clone.2:910 build/C/man2/clone.2:919 build/C/man2/kcmp.2:182
+#: build/C/man2/clone.2:978 build/C/man2/clone.2:987 build/C/man2/kcmp.2:182
#: build/C/man2/sched_setaffinity.2:135 build/C/man2/sched_setparam.2:101
#: build/C/man2/sched_setscheduler.2:438 build/C/man2/setns.2:92
-#: build/C/man2/unshare.2:203
+#: build/C/man2/unshare.2:221
#, no-wrap
msgid "B<EPERM>"
msgstr "B<EPERM>"
#. type: Plain text
-#: build/C/man2/clone.2:919
+#: build/C/man2/clone.2:987
msgid ""
"B<CLONE_NEWIPC>, B<CLONE_NEWNET>, B<CLONE_NEWNS>, B<CLONE_NEWPID>, or "
"B<CLONE_NEWUTS> was specified by an unprivileged process (process without "
"た。"
#. type: Plain text
-#: build/C/man2/clone.2:923
+#: build/C/man2/clone.2:991
msgid "B<CLONE_PID> was specified by a process other than process 0."
msgstr "PID が 0 以外のプロセスによって B<CLONE_PID> が指定された。"
#. type: Plain text
-#: build/C/man2/clone.2:930
+#: build/C/man2/clone.2:998
msgid ""
"There is no entry for B<clone>() in libc5. glibc2 provides B<clone>() as "
"described in this manual page."
"マニュアルページに記載の通りである。"
#. type: Plain text
-#: build/C/man2/clone.2:937
+#: build/C/man2/clone.2:1002
msgid ""
-"The B<clone>() and B<sys_clone> calls are Linux-specific and should not be "
-"used in programs intended to be portable."
+"B<clone>() is Linux-specific and should not be used in programs intended to "
+"be portable."
msgstr ""
-"B<clone>() と B<sys_clone> コールは Linux 特有であり、移植を考慮したプログラ"
-"ã\83 ã\81§ã\81¯ä½¿ç\94¨ã\81\99ã\81¹ã\81\8d ã\81§ã\81¯ã\81ªã\81\84ã\80\82"
+"B<clone>() は Linux 特有であり、移植を考慮したプログラムでは使用すべき ではな"
+"い。"
#. type: Plain text
-#: build/C/man2/clone.2:947
+#: build/C/man2/clone.2:1012
msgid ""
"In the kernel 2.4.x series, B<CLONE_THREAD> generally does not make the "
"parent of the new thread the same as the parent of the calling process. "
"グを指定すると、 暗黙のうちに CLONE_PARENT フラグを指定したことになる。"
#. type: Plain text
-#: build/C/man2/clone.2:957
+#: build/C/man2/clone.2:1022
msgid ""
"For a while there was B<CLONE_DETACHED> (introduced in 2.5.32): parent wants "
"no child-exit signal. In 2.6.2 the need to give this together with "
"要はなくなった。 このフラグはまだ定義されているが、何の効果もない。"
#. type: Plain text
-#: build/C/man2/clone.2:962
+#: build/C/man2/clone.2:1027
msgid ""
"On i386, B<clone>() should not be called through vsyscall, but directly "
"through I<int $0x80>."
"呼び出すべきである。"
#. type: Plain text
-#: build/C/man2/clone.2:964
-msgid "On ia64, a different system call is used:"
-msgstr "ia64 では、別のシステムコールが使用される:"
-
-#. type: Plain text
-#: build/C/man2/clone.2:971
-#, no-wrap
-msgid ""
-"B<int __clone2(int (*>I<fn>B<)(void *), >\n"
-"B< void *>I<child_stack_base>B<, size_t >I<stack_size>B<,>\n"
-"B< int >I<flags>B<, void *>I<arg>B<, ... >\n"
-"B< /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
-msgstr ""
-"B<int __clone2(int (*>I<fn>B<)(void *), >\n"
-"B< void *>I<child_stack_base>B<, size_t >I<stack_size>B<,>\n"
-"B< int >I<flags>B<, void *>I<arg>B<, ... >\n"
-"B< /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
-
-#. type: Plain text
-#: build/C/man2/clone.2:984
-msgid ""
-"The B<__clone2>() system call operates in the same way as B<clone>(), "
-"except that I<child_stack_base> points to the lowest address of the child's "
-"stack area, and I<stack_size> specifies the size of the stack pointed to by "
-"I<child_stack_base>."
-msgstr ""
-"B<__clone2>() システムコールは B<clone>() と同じように動作するが、以下の点"
-"が異なる: I<child_stack_base> は子プロセスのスタックエリアの最小のアドレスを"
-"指し、 I<stack_size> は I<child_stack_base> が指し示すスタックエリアの大きさ"
-"を示す。"
-
-#. type: Plain text
-#: build/C/man2/clone.2:1015
+#: build/C/man2/clone.2:1058
msgid ""
"Versions of the GNU C library that include the NPTL threading library "
"contain a wrapper function for B<getpid>(2) that performs caching of PIDs. "
"い。"
#. type: Plain text
-#: build/C/man2/clone.2:1018
+#: build/C/man2/clone.2:1061
#, no-wrap
msgid " #include E<lt>syscall.hE<gt>\n"
msgstr " #include E<lt>syscall.hE<gt>\n"
#. type: Plain text
-#: build/C/man2/clone.2:1020
+#: build/C/man2/clone.2:1063
#, no-wrap
msgid " pid_t mypid;\n"
msgstr " pid_t mypid;\n"
#. type: Plain text
-#: build/C/man2/clone.2:1022
+#: build/C/man2/clone.2:1065
#, no-wrap
msgid " mypid = syscall(SYS_getpid);\n"
msgstr " mypid = syscall(SYS_getpid);\n"
#. type: SS
-#: build/C/man2/clone.2:1027
+#: build/C/man2/clone.2:1070
#, no-wrap
msgid "Create a child that executes in a separate UTS namespace"
-msgstr ""
+msgstr "別の UTS 名前空間で動作する子プロセスを作成する"
#. type: Plain text
-#: build/C/man2/clone.2:1037
+#: build/C/man2/clone.2:1080
msgid ""
"The following program demonstrates the use of B<clone>() to create a child "
"process that executes in a separate UTS namespace. The child changes the "
"UTS namespaces of the parent and child. For an example of the use of this "
"program, see B<setns>(2)."
msgstr ""
+"以下のプログラムは、 別の UTS 名前空間で動作する子プロセスを B<clone>() を"
+"使って作成する例である。 子プロセスは、自分の UTS 名前空間においてホスト名を"
+"変更する。 それから、親プロセスと子プロセスの両方でシステムのホスト名を表示"
+"し、 親プロセスと子プロセスの UTS 名前空間でホスト名が異なることを確認する。 "
+"このプログラムの使用方法については B<setns>(2) を参照。"
#. type: Plain text
-#: build/C/man2/clone.2:1047
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#define _GNU_SOURCE\n"
-#| "#include E<lt>sched.hE<gt>\n"
-#| "#include E<lt>stdlib.hE<gt>\n"
-#| "#include E<lt>unistd.hE<gt>\n"
-#| "#include E<lt>stdio.hE<gt>\n"
-#| "#include E<lt>assert.hE<gt>\n"
+#: build/C/man2/clone.2:1090
+#, no-wrap
msgid ""
"#define _GNU_SOURCE\n"
"#include E<lt>sys/wait.hE<gt>\n"
"#include E<lt>unistd.hE<gt>\n"
msgstr ""
"#define _GNU_SOURCE\n"
+"#include E<lt>sys/wait.hE<gt>\n"
+"#include E<lt>sys/utsname.hE<gt>\n"
"#include E<lt>sched.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>unistd.hE<gt>\n"
-"#include E<lt>stdio.hE<gt>\n"
-"#include E<lt>assert.hE<gt>\n"
#. type: Plain text
-#: build/C/man2/clone.2:1050 build/C/man2/setns.2:177
+#: build/C/man2/clone.2:1093 build/C/man2/setns.2:177
#, no-wrap
msgid ""
"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
" } while (0)\n"
msgstr ""
+"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
+" } while (0)\n"
#. type: Plain text
-#: build/C/man2/clone.2:1055
+#: build/C/man2/clone.2:1098
#, no-wrap
msgid ""
"static int /* Start function for cloned child */\n"
"{\n"
" struct utsname uts;\n"
msgstr ""
+"static int /* clone された子プロセスの開始関数 */\n"
+"childFunc(void *arg)\n"
+"{\n"
+" struct utsname uts;\n"
#. type: Plain text
-#: build/C/man2/clone.2:1057
+#: build/C/man2/clone.2:1100
#, no-wrap
msgid " /* Change hostname in UTS namespace of child */\n"
-msgstr ""
+msgstr " /* 子プロセスの UTS 名前空間でホスト名を変更する */\n"
#. type: Plain text
-#: build/C/man2/clone.2:1060
+#: build/C/man2/clone.2:1103
#, no-wrap
msgid ""
" if (sethostname(arg, strlen(arg)) == -1)\n"
" errExit(\"sethostname\");\n"
msgstr ""
+" if (sethostname(arg, strlen(arg)) == -1)\n"
+" errExit(\"sethostname\");\n"
#. type: Plain text
-#: build/C/man2/clone.2:1062
+#: build/C/man2/clone.2:1105
#, no-wrap
msgid " /* Retrieve and display hostname */\n"
-msgstr ""
+msgstr " /* ホスト名を取得し表示する */\n"
#. type: Plain text
-#: build/C/man2/clone.2:1066
+#: build/C/man2/clone.2:1109
#, no-wrap
msgid ""
" if (uname(&uts) == -1)\n"
" errExit(\"uname\");\n"
" printf(\"uts.nodename in child: %s\\en\", uts.nodename);\n"
msgstr ""
+" if (uname(&uts) == -1)\n"
+" errExit(\"uname\");\n"
+" printf(\"uts.nodename in child: %s\\en\", uts.nodename);\n"
#. type: Plain text
-#: build/C/man2/clone.2:1070
+#: build/C/man2/clone.2:1113
#, no-wrap
msgid ""
" /* Keep the namespace open for a while, by sleeping.\n"
" This allows some experimentation--for example, another\n"
" process might join the namespace. */\n"
msgstr ""
+" /* sleep を使ってしばらく名前空間をオープンされたままにする。\n"
+" これにより実験を行うことができる -- 例えば、\n"
+" 別のプロセスがこの名前空間に参加するなど。 */\n"
#. type: Plain text
-#: build/C/man2/clone.2:1072
+#: build/C/man2/clone.2:1115
#, no-wrap
msgid " sleep(200);\n"
-msgstr ""
+msgstr " sleep(200);\n"
#. type: Plain text
-#: build/C/man2/clone.2:1075
+#: build/C/man2/clone.2:1118
#, no-wrap
msgid ""
" return 0; /* Child terminates now */\n"
"}\n"
msgstr ""
+" return 0; /* 子プロセスを終了する */\n"
+"}\n"
#. type: Plain text
-#: build/C/man2/clone.2:1077
+#: build/C/man2/clone.2:1120
#, no-wrap
msgid "#define STACK_SIZE (1024 * 1024) /* Stack size for cloned child */\n"
-msgstr ""
+msgstr "#define STACK_SIZE (1024 * 1024) /* clone される子プロセスのスタックサイズ */\n"
#. type: Plain text
-#: build/C/man2/clone.2:1085
+#: build/C/man2/clone.2:1128
#, no-wrap
msgid ""
"int\n"
" pid_t pid;\n"
" struct utsname uts;\n"
msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" char *stack; /* スタックバッファの先頭 */\n"
+" char *stackTop; /* スタックバッファの末尾 */\n"
+" pid_t pid;\n"
+" struct utsname uts;\n"
#. type: Plain text
-#: build/C/man2/clone.2:1090
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (argc E<lt> 2) {\n"
-#| " fprintf(stderr, \"Usage: %s E<lt>num-cpusE<gt>\\en\", argv[0]);\n"
-#| " exit(EXIT_FAILURE);\n"
-#| " }\n"
+#: build/C/man2/clone.2:1133
+#, no-wrap
msgid ""
" if (argc E<lt> 2) {\n"
" fprintf(stderr, \"Usage: %s E<lt>child-hostnameE<gt>\\en\", argv[0]);\n"
" }\n"
msgstr ""
" if (argc E<lt> 2) {\n"
-" fprintf(stderr, \"Usage: %s E<lt>num-cpusE<gt>\\en\", argv[0]);\n"
-" exit(EXIT_FAILURE);\n"
+" fprintf(stderr, \"Usage: %s E<lt>child-hostnameE<gt>\\en\", argv[0]);\n"
+" exit(EXIT_SUCCESS);\n"
" }\n"
#. type: Plain text
-#: build/C/man2/clone.2:1092
+#: build/C/man2/clone.2:1135
#, no-wrap
msgid " /* Allocate stack for child */\n"
-msgstr ""
+msgstr " /* 子プロセス用のスタックを割り当てる */\n"
#. type: Plain text
-#: build/C/man2/clone.2:1097
+#: build/C/man2/clone.2:1140
#, no-wrap
msgid ""
" stack = malloc(STACK_SIZE);\n"
" errExit(\"malloc\");\n"
" stackTop = stack + STACK_SIZE; /* Assume stack grows downward */\n"
msgstr ""
+" stack = malloc(STACK_SIZE);\n"
+" if (stack == NULL)\n"
+" errExit(\"malloc\");\n"
+" stackTop = stack + STACK_SIZE; /* スタックは下方向に伸びるものとする */\n"
#. type: Plain text
-#: build/C/man2/clone.2:1100
+#: build/C/man2/clone.2:1143
#, no-wrap
msgid ""
" /* Create child that has its own UTS namespace;\n"
" child commences execution in childFunc() */\n"
msgstr ""
+" /* 自分専用の UTS 名前空間を持つ子プロセスを作成する;\n"
+" 子プロセスは childFunc() の実行を開始する */\n"
#. type: Plain text
-#: build/C/man2/clone.2:1105
+#: build/C/man2/clone.2:1148
#, no-wrap
msgid ""
" pid = clone(childFunc, stackTop, CLONE_NEWUTS | SIGCHLD, argv[1]);\n"
" errExit(\"clone\");\n"
" printf(\"clone() returned %ld\\en\", (long) pid);\n"
msgstr ""
+" pid = clone(childFunc, stackTop, CLONE_NEWUTS | SIGCHLD, argv[1]);\n"
+" if (pid == -1)\n"
+" errExit(\"clone\");\n"
+" printf(\"clone() returned %ld\\en\", (long) pid);\n"
#. type: Plain text
-#: build/C/man2/clone.2:1107
+#: build/C/man2/clone.2:1150
#, no-wrap
msgid " /* Parent falls through to here */\n"
-msgstr ""
+msgstr " /* 親プロセスの実行はここに来る */\n"
#. type: Plain text
-#: build/C/man2/clone.2:1109
+#: build/C/man2/clone.2:1152
#, no-wrap
msgid " sleep(1); /* Give child time to change its hostname */\n"
-msgstr ""
+msgstr " sleep(1); /* 子プロセスがホスト名を変更する時間を与える */\n"
#. type: Plain text
-#: build/C/man2/clone.2:1112
+#: build/C/man2/clone.2:1155
#, no-wrap
msgid ""
" /* Display hostname in parent\\(aqs UTS namespace. This will be\n"
" different from hostname in child\\(aqs UTS namespace. */\n"
msgstr ""
+" /* 親プロセスの UTS 名前空間でのホスト名を表示する;\n"
+" これは子プロセスの UTS 名前空間でのホスト名とは異なる */\n"
#. type: Plain text
-#: build/C/man2/clone.2:1116
+#: build/C/man2/clone.2:1159
#, no-wrap
msgid ""
" if (uname(&uts) == -1)\n"
" errExit(\"uname\");\n"
" printf(\"uts.nodename in parent: %s\\en\", uts.nodename);\n"
msgstr ""
+" if (uname(&uts) == -1)\n"
+" errExit(\"uname\");\n"
+" printf(\"uts.nodename in parent: %s\\en\", uts.nodename);\n"
#. type: Plain text
-#: build/C/man2/clone.2:1120
+#: build/C/man2/clone.2:1163
#, no-wrap
msgid ""
" if (waitpid(pid, NULL, 0) == -1) /* Wait for child */\n"
" errExit(\"waitpid\");\n"
" printf(\"child has terminated\\en\");\n"
msgstr ""
+" if (waitpid(pid, NULL, 0) == -1) /* 子プロセスを待つ */\n"
+" errExit(\"waitpid\");\n"
+" printf(\"child has terminated\\en\");\n"
#. type: Plain text
-#: build/C/man2/clone.2:1123
-#, fuzzy, no-wrap
-#| msgid ""
-#| " CPU_FREE(cpusetp);\n"
-#| " exit(EXIT_SUCCESS);\n"
-#| "}\n"
+#: build/C/man2/clone.2:1166
+#, no-wrap
msgid ""
" exit(EXIT_SUCCESS);\n"
"}\n"
msgstr ""
-" CPU_FREE(cpusetp);\n"
" exit(EXIT_SUCCESS);\n"
"}\n"
#. type: Plain text
-#: build/C/man2/clone.2:1138
-#, fuzzy
-#| msgid ""
-#| "B<fork>(2), B<futex>(2), B<getpid>(2), B<gettid>(2), B<set_thread_area>"
-#| "(2), B<set_tid_address>(2), B<tkill>(2), B<unshare>(2), B<wait>(2), "
-#| "B<capabilities>(7), B<pthreads>(7)"
+#: build/C/man2/clone.2:1181
msgid ""
"B<fork>(2), B<futex>(2), B<getpid>(2), B<gettid>(2), B<kcmp>(2), "
"B<set_thread_area>(2), B<set_tid_address>(2), B<setns>(2), B<tkill>(2), "
"B<unshare>(2), B<wait>(2), B<capabilities>(7), B<pthreads>(7)"
msgstr ""
-"B<fork>(2), B<futex>(2), B<getpid>(2), B<gettid>(2), B<set_thread_area>(2), "
-"B<set_tid_address>(2), B<tkill>(2), B<unshare>(2), B<wait>(2), "
-"B<capabilities>(7), B<pthreads>(7)"
+"B<fork>(2), B<futex>(2), B<getpid>(2), B<gettid>(2), B<kcmp>(2), "
+"B<set_thread_area>(2), B<set_tid_address>(2), B<setns>(2), B<tkill>(2), "
+"B<unshare>(2), B<wait>(2), B<capabilities>(7), B<pthreads>(7)"
#. type: TH
#: build/C/man2/kcmp.2:28
#, no-wrap
msgid "KCMP"
-msgstr ""
+msgstr "KCMP"
#. type: TH
#: build/C/man2/kcmp.2:28
#, no-wrap
msgid "2013-01-27"
-msgstr ""
+msgstr "2013-01-27"
#. type: Plain text
#: build/C/man2/kcmp.2:31
#. type: Plain text
#: build/C/man2/kcmp.2:34
-#, fuzzy, no-wrap
-#| msgid "B<#include E<lt>sched.hE<gt>>\n"
+#, no-wrap
msgid "B<#include E<lt>linux/kcmp.hE<gt>>\n"
-msgstr "B<#include E<lt>sched.hE<gt>>\n"
+msgstr "B<#include E<lt>linux/kcmp.hE<gt>>\n"
#. type: Plain text
#: build/C/man2/kcmp.2:37
"B<int kcmp(pid_t >I<pid1>B<, pid_t >I<pid2>B<, int >I<type>B<,>\n"
"B< unsigned long >I<idx1>B<, unsigned long >I<idx2>B<);>\n"
msgstr ""
+"B<int kcmp(pid_t >I<pid1>B<, pid_t >I<pid2>B<, int >I<type>B<,>\n"
+"B< unsigned long >I<idx1>B<, unsigned long >I<idx2>B<);>\n"
#. type: Plain text
#: build/C/man2/kcmp.2:41
msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
msgstr ""
+"I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
+"を参照。"
#. type: Plain text
#: build/C/man2/kcmp.2:50
#. type: Plain text
#: build/C/man2/kcmp.2:55
-#, fuzzy
-#| msgid ""
-#| "The I<nstype> argument specifies which type of namespace the calling "
-#| "thread may be reassociated with. This argument can have one of the "
-#| "following values:"
msgid ""
"The I<type> argument specifies which resource is to be compared in the two "
"processes. It has one of the following values:"
msgstr ""
-"I<nstype> 引き数は、呼び出したスレッドがどのタイプの名前空間を\n"
-"関連付けしなおすことができるかを指定する。\n"
-"この引き数には以下のいずれかの値を指定できる。"
+"I<type> 引き数は 2 つのプロセス間でどのリソースを比較するかを指定する。 以下"
+"のいずれかの値を指定する。"
#. type: TP
#: build/C/man2/kcmp.2:55
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_FILES>"
+#, no-wrap
msgid "B<KCMP_FILE>"
-msgstr "B<CLONE_FILES>"
+msgstr "B<KCMP_FILE>"
#. type: Plain text
#: build/C/man2/kcmp.2:67
#. type: TP
#: build/C/man2/kcmp.2:67
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_FILES>"
+#, no-wrap
msgid "B<KCMP_FILES>"
-msgstr "B<CLONE_FILES>"
+msgstr "B<KCMP_FILES>"
#. type: Plain text
#: build/C/man2/kcmp.2:75
#. type: TP
#: build/C/man2/kcmp.2:75
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_FS>"
+#, no-wrap
msgid "B<KCMP_FS>"
-msgstr "B<CLONE_FS>"
+msgstr "B<KCMP_FS>"
#. type: Plain text
#: build/C/man2/kcmp.2:84
#. type: TP
#: build/C/man2/kcmp.2:92
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_SIGHAND>"
+#, no-wrap
msgid "B<KCMP_SIGHAND>"
-msgstr "B<CLONE_SIGHAND>"
+msgstr "B<KCMP_SIGHAND>"
#. type: Plain text
#: build/C/man2/kcmp.2:100
#: build/C/man2/kcmp.2:100
#, no-wrap
msgid "B<KCMP_SYSVSEM>"
-msgstr ""
+msgstr "B<KCMP_SYSVSEM>"
#. type: Plain text
#: build/C/man2/kcmp.2:109
#. type: TP
#: build/C/man2/kcmp.2:109
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_VM>"
+#, no-wrap
msgid "B<KCMP_VM>"
-msgstr "B<CLONE_VM>"
+msgstr "B<KCMP_VM>"
#. type: Plain text
#: build/C/man2/kcmp.2:117
#: build/C/man2/kcmp.2:139
#, no-wrap
msgid "0"
-msgstr ""
+msgstr "0"
#. type: Plain text
#: build/C/man2/kcmp.2:144
#: build/C/man2/kcmp.2:144
#, no-wrap
msgid "1"
-msgstr ""
+msgstr "1"
#. type: Plain text
#: build/C/man2/kcmp.2:148
#: build/C/man2/kcmp.2:148
#, no-wrap
msgid "2"
-msgstr ""
+msgstr "2"
#. type: Plain text
#: build/C/man2/kcmp.2:152
#: build/C/man2/kcmp.2:152
#, no-wrap
msgid "3"
-msgstr ""
+msgstr "3"
#. type: Plain text
#: build/C/man2/kcmp.2:157
#. type: Plain text
#: build/C/man2/kcmp.2:162
-#, fuzzy
-#| msgid ""
-#| "On success, B<sched_yield>() returns 0. On error, -1 is returned, and "
-#| "I<errno> is set appropriately."
msgid "On error, -1 is returned, and I<errno> is set appropriately."
-msgstr ""
-"成功した場合は B<sched_yield>() は 0 を返す。 エラーの場合は -1 が返され、 "
-"I<errno> が適切に設定される。"
+msgstr "エラーの場合は -1 が返され、 I<errno> が適切に設定される。"
#. type: Plain text
#: build/C/man2/kcmp.2:167
#. type: Plain text
#: build/C/man2/kcmp.2:199
-#, fuzzy
-#| msgid "The B<setns>() system call is Linux-specific."
msgid "The B<kcmp>() system call first appeared in Linux 3.5."
-msgstr "B<setns>() システムコールは Linux 固有である。"
+msgstr "B<kcmp>() システムコールは Linux 3.5 で初めて登場した。"
#. type: Plain text
#: build/C/man2/kcmp.2:202
-#, fuzzy
-#| msgid ""
-#| "The B<clone>() and B<sys_clone> calls are Linux-specific and should not "
-#| "be used in programs intended to be portable."
msgid ""
"B<kcmp>() is Linux specific and should not be used in programs intended to "
"be portable."
msgstr ""
-"B<clone>() と B<sys_clone> コールは Linux 特有であり、移植を考慮したプログラ"
-"ã\83 ã\81§ã\81¯ä½¿ç\94¨ã\81\99ã\81¹ã\81\8d ã\81§ã\81¯ã\81ªã\81\84ã\80\82"
+"B<kcmp>() は Linux 特有であり、 移植を考慮したプログラムでは使用すべきではな"
+"い。"
#. type: Plain text
#: build/C/man2/kcmp.2:205
msgstr "B<int sched_get_priority_min(int >I<policy>B<);>"
#. type: Plain text
-#: build/C/man2/sched_get_priority_max.2:54
+#: build/C/man2/sched_get_priority_max.2:57
msgid ""
"B<sched_get_priority_max>() returns the maximum priority value that can be "
"used with the scheduling algorithm identified by I<policy>. "
"B<sched_setscheduler>(2) に書かれている。"
#. type: Plain text
-#: build/C/man2/sched_get_priority_max.2:63
+#: build/C/man2/sched_get_priority_max.2:66
msgid ""
"Processes with numerically higher priority values are scheduled before "
"processes with numerically lower priority values. Thus, the value returned "
"す値は B<sched_get_priority_min>() が返す値よりも大きい。"
#. type: Plain text
-#: build/C/man2/sched_get_priority_max.2:69
+#: build/C/man2/sched_get_priority_max.2:77
msgid ""
"Linux allows the static priority value range 1 to 99 for B<SCHED_FIFO> and "
"B<SCHED_RR> and the priority 0 for B<SCHED_OTHER> and B<SCHED_BATCH>. "
"とができない。"
#. type: Plain text
-#: build/C/man2/sched_get_priority_max.2:78
+#: build/C/man2/sched_get_priority_max.2:89
msgid ""
"The range of scheduling priorities may vary on other POSIX systems, thus it "
"is a good idea for portable applications to use a virtual priority range and "
"することを要求している。"
#. type: Plain text
-#: build/C/man2/sched_get_priority_max.2:86
+#: build/C/man2/sched_get_priority_max.2:98
msgid ""
"POSIX systems on which B<sched_get_priority_max>() and "
"B<sched_get_priority_min>() are available define "
"る場合にのみ使用可能である。"
#. type: Plain text
-#: build/C/man2/sched_get_priority_max.2:96
+#: build/C/man2/sched_get_priority_max.2:108
msgid ""
"On success, B<sched_get_priority_max>() and B<sched_get_priority_min>() "
"return the maximum/minimum priority value for the named scheduling policy. "
"ラーの場合は -1 が返され、 I<errno> が適切に設定される。"
#. type: Plain text
-#: build/C/man2/sched_get_priority_max.2:100
+#: build/C/man2/sched_get_priority_max.2:114
msgid "The argument I<policy> does not identify a defined scheduling policy."
msgstr "引き数 I<policy> が定義されているスケジューリング方針と一致しない。"
#. type: Plain text
-#: build/C/man2/sched_get_priority_max.2:102
+#: build/C/man2/sched_get_priority_max.2:116
#: build/C/man2/sched_rr_get_interval.2:96 build/C/man2/sched_setparam.2:112
#: build/C/man2/sched_yield.2:54
msgid "POSIX.1-2001."
msgstr "POSIX.1-2001."
#. type: Plain text
-#: build/C/man2/sched_get_priority_max.2:111
+#: build/C/man2/sched_get_priority_max.2:125
msgid ""
"B<sched_getaffinity>(2), B<sched_getparam>(2), B<sched_getscheduler>(2), "
"B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2)"
"B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2),"
#. type: Plain text
-#: build/C/man2/sched_get_priority_max.2:114
-#: build/C/man2/sched_rr_get_interval.2:131 build/C/man2/sched_setparam.2:134
-#: build/C/man2/sched_setscheduler.2:563 build/C/man2/sched_yield.2:84
-#, fuzzy
-#| msgid ""
-#| "I<Programming for the real world - POSIX.4> by Bill O. Gallmeister, "
-#| "O'Reilly & Associates, Inc., ISBN 1-56592-074-0"
+#: build/C/man2/sched_get_priority_max.2:128
+#: build/C/man2/sched_rr_get_interval.2:138 build/C/man2/sched_setparam.2:134
+#: build/C/man2/sched_setscheduler.2:563 build/C/man2/sched_yield.2:85
msgid ""
"I<Programming for the real world - POSIX.4> by Bill O. Gallmeister, O'Reilly "
"& Associates, Inc., ISBN 1-56592-074-0."
msgstr ""
"I<Programming for the real world - POSIX.4> by Bill O. Gallmeister, O'Reilly "
-"& Associates, Inc., ISBN 1-56592-074-0"
+"& Associates, Inc., ISBN 1-56592-074-0."
#. type: TH
#: build/C/man3/sched_getcpu.3:26
msgstr "SCHED_GETCPU"
#. type: TH
-#: build/C/man3/sched_getcpu.3:26
+#: build/C/man3/sched_getcpu.3:26 build/C/man2/unshare.2:20
#, no-wrap
-msgid "2010-10-31"
-msgstr "2010-10-31"
+msgid "2013-04-17"
+msgstr "2013-04-17"
#. type: Plain text
#: build/C/man3/sched_getcpu.3:29
msgid "sched_getcpu - determine CPU on which the calling thread is running"
msgstr "sched_getcpu - 呼び出したスレッドが実行されている CPU を知る"
-#. Really:_BSD_SOURCE || _SVID_SOURCE
#. type: Plain text
#: build/C/man3/sched_getcpu.3:34
#, no-wrap
+msgid "B<int sched_getcpu(void);>\n"
+msgstr "B<int sched_getcpu(void);>\n"
+
+#. type: Plain text
+#: build/C/man3/sched_getcpu.3:39 build/C/man2/unshare.2:33
msgid ""
-"B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
-"B<#include E<lt>sched.hE<gt>>\n"
-msgstr ""
-"B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */\n"
-"B<#include E<lt>sched.hE<gt>>\n"
+"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
+msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7) 参照):"
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:36
-#, no-wrap
-msgid "B<int sched_getcpu(void);>\n"
-msgstr "B<int sched_getcpu(void);>\n"
+#: build/C/man3/sched_getcpu.3:42
+msgid "B<sched_getcpu>():"
+msgstr "B<sched_getcpu>():"
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:40
+#: build/C/man3/sched_getcpu.3:58
msgid ""
"B<sched_getcpu>() returns the number of the CPU on which the calling thread "
"is currently executing."
"す。"
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:47
+#: build/C/man3/sched_getcpu.3:65
msgid ""
"On success, B<sched_getcpu>() returns a nonnegative CPU number. On error, "
"-1 is returned and I<errno> is set to indicate the error."
"返し、 I<errno> にエラーを示す値を設定する。"
#. type: TP
-#: build/C/man3/sched_getcpu.3:48 build/C/man2/sched_rr_get_interval.2:87
+#: build/C/man3/sched_getcpu.3:66 build/C/man2/sched_rr_get_interval.2:87
#, no-wrap
msgid "B<ENOSYS>"
msgstr "B<ENOSYS>"
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:52
+#: build/C/man3/sched_getcpu.3:70
msgid "This kernel does not implement B<getcpu>(2)."
msgstr "このカーネルでは B<getcpu>(2) が実装されていない。"
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:54
+#: build/C/man3/sched_getcpu.3:72
msgid "This function is available since glibc 2.6."
msgstr "この関数は glibc 2.6 以降で利用可能である。"
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:57
+#: build/C/man3/sched_getcpu.3:75
msgid "B<sched_getcpu>() is glibc specific."
msgstr "B<sched_getcpu>() は glibc 固有である。"
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:59
+#: build/C/man3/sched_getcpu.3:77
msgid "The call"
msgstr "呼び出し"
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:63
+#: build/C/man3/sched_getcpu.3:81
#, no-wrap
msgid "cpu = sched_getcpu();\n"
msgstr "cpu = sched_getcpu();\n"
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:69
+#: build/C/man3/sched_getcpu.3:87
msgid "is equivalent to the following B<getcpu>(2) call:"
msgstr "は、以下の B<getcpu>(2) 呼び出しと等価である。"
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:75
+#: build/C/man3/sched_getcpu.3:93
#, no-wrap
msgid ""
"int c, s;\n"
"cpu = (s == -1) ? s : c;\n"
#. type: Plain text
-#: build/C/man3/sched_getcpu.3:79
+#: build/C/man3/sched_getcpu.3:97
msgid "B<getcpu>(2)"
msgstr "B<getcpu>(2)"
#. type: TH
#: build/C/man2/sched_rr_get_interval.2:29
#, no-wrap
-msgid "2011-10-16"
-msgstr "2011-10-16"
+msgid "2013-03-18"
+msgstr "2013-03-18"
#. type: Plain text
#: build/C/man2/sched_rr_get_interval.2:32
#. type: Plain text
#: build/C/man2/sched_rr_get_interval.2:84
-#, fuzzy
-#| msgid "Problem with copying information to userspace."
msgid "Problem with copying information to user space."
msgstr "情報をユーザ空間にコピーする時に問題が起きた。"
#. type: SS
#: build/C/man2/sched_rr_get_interval.2:103
-#, fuzzy, no-wrap
-#| msgid "Linux Notes"
+#, no-wrap
msgid "Linux notes"
msgstr "Linux での注意"
#. commit a4ec24b48ddef1e93f7578be53270f0b95ad666c
-#. .SH BUGS
-#. As of Linux 1.3.81
-#. .BR sched_rr_get_interval ()
-#. returns with error
-#. ENOSYS, because SCHED_RR has not yet been fully implemented and tested
-#. properly.
#. type: Plain text
-#: build/C/man2/sched_rr_get_interval.2:125
+#: build/C/man2/sched_rr_get_interval.2:117
msgid ""
"POSIX does not specify any mechanism for controlling the size of the round-"
"robin time quantum. Older Linux kernels provide a (nonportable) method of "
"results in a longer quantum; assigning a positive (i.e., low) nice value "
"results in a shorter quantum. The default quantum is 0.1 seconds; the "
"degree to which changing the nice value affects the quantum has varied "
-"somewhat across kernel versions. Since Linux 2.6.24, the B<SCHED_RR> "
-"quantum cannot be modified."
+"somewhat across kernel versions. This method of adjusting the quantum was "
+"removed starting with Linux 2.6.24."
+msgstr ""
+"POSIX ではラウンドロビン時間量の大きさを制御する仕組みが規定されていない。 古"
+"い Linux カーネルではこれを変更する方法が提供されている (この方法に移植性はな"
+"い)。 プロセスの nice 値を調整することで時間量を制御できる (B<setpriority>"
+"(2) 参照)。 負の nice 値 (すなわち、高い nice 値) を割り当てると時間量は長く"
+"なり、 正の nice 値 (すなわち、低い nice 値) を割り当てると時間量は短くな"
+"る。 デフォルトの時間量は 0.1 秒である。 nice 値の変更が時間量にどの程度影響"
+"を与えるかは カーネルのバージョンにより多少異なる。時間量を調整するこのメソッ"
+"ドは Linux 2.6.24 以降で削除された。"
+
+#. commit ce0dbbbb30aee6a835511d5be446462388ba9eee
+#. .SH BUGS
+#. As of Linux 1.3.81
+#. .BR sched_rr_get_interval ()
+#. returns with error
+#. ENOSYS, because SCHED_RR has not yet been fully implemented and tested
+#. properly.
+#. type: Plain text
+#: build/C/man2/sched_rr_get_interval.2:132
+msgid ""
+"Linux 3.9 added a new mechanism for adjusting (and viewing) the B<SCHED_RR> "
+"quantum: the I</proc/sys/kernel/sched_rr_timeslice_ms> file exposes the "
+"quantum as a millisecond value, whose default is 100. Writing 0 to this "
+"file resets the quantum to the default value."
msgstr ""
-"POSIX ではラウンドロビン時間量の大きさを制御する仕組みが規定されていな\n"
-"い。古い Linux カーネルではこれを変更する方法が提供されている (この方法\n"
-"に移植性はない)。プロセスの nice 値を調整することで時間量を制御できる\n"
-"(B<setpriority>(2) 参照)。 負の nice 値 (すなわち、高い nice 値) を割り\n"
-"当てると時間量は長くなり、 正の nice 値 (すなわち、低い nice 値) を割り\n"
-"当てると時間量は短くなる。 デフォルトの時間量は 0.1 秒である。 nice 値\n"
-"の変更が時間量にどの程度影響を与えるかは カーネルのバージョンにより多少\n"
-"異なる。"
+"Linux 3.9 で、 B<SCHED_RR> の時間量の調整 (と参照) を行う新しい機構が追加され"
+"た。 I</proc/sys/kernel/sched_rr_timeslice_ms> ファイルでミリ秒単位の時間量の"
+"値が参照でき、 デフォルト値は 100 である。 このファイルに 0 を書き込むと、 時"
+"間量をデフォルト値に戻すことができる。"
#. type: Plain text
-#: build/C/man2/sched_rr_get_interval.2:128
+#: build/C/man2/sched_rr_get_interval.2:135
#: build/C/man2/sched_setaffinity.2:177
msgid ""
"B<sched_setscheduler>(2) has a description of the Linux scheduling scheme."
#: build/C/man2/sched_setaffinity.2:34
#, no-wrap
msgid "2013-02-11"
-msgstr ""
+msgstr "2013-02-11"
#. type: Plain text
#: build/C/man2/sched_setaffinity.2:38
msgid ""
"This manual page describes the glibc interface for the CPU affinity calls. "
"The actual system call interface is slightly different, with the I<mask> "
-"being typed as I<unsigned long *>, reflecting the fact that the underlying "
+"being typed as I<unsigned long\\ *>, reflecting the fact that the underlying "
"implementation of CPU sets is a simple bit mask. On success, the raw "
"B<sched_getaffinity>() system call returns the size (in bytes) of the "
"I<cpumask_t> data type that is used internally by the kernel to represent "
"このマニュアルページでは CPU affinity コールの glibc インタフェースを 説明し"
"ている。実際のシステムコール・インタフェースは少し違っており、 実際の実装で"
"は CPU 集合は簡単なビットマスクであるという実状を反映し、 I<mask> の型が "
-"I<unsigned long *> となっている。 成功時には、生の B<sched_getaffinity>() シ"
-"ステムコール自身は I<cpumask_t> データ型の (バイト単位の) 大きさを返す。 "
+"I<unsigned long\\ *> となっている。 成功時には、生の B<sched_getaffinity>() "
+"ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«è\87ªèº«ã\81¯ I<cpumask_t> ã\83\87ã\83¼ã\82¿å\9e\8bã\81® (ã\83\90ã\82¤ã\83\88å\8d\98ä½\8dã\81®) 大ã\81\8dã\81\95ã\82\92è¿\94ã\81\99ã\80\82 "
"I<cpumask_t> はカーネル内部で CPU 集合のビットマスクを表現するのに 使われてい"
"るデータ型である。"
#. type: Plain text
#: build/C/man2/sched_setaffinity.2:233
-#, fuzzy
-#| msgid ""
-#| "B<clone>(2), B<getcpu>(2), B<getpriority>(2), B<gettid>(2), B<nice>(2), "
-#| "B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), "
-#| "B<sched_getscheduler>(2), B<sched_setscheduler>(2), B<setpriority>(2), "
-#| "B<CPU_SET>(3), B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), "
-#| "B<capabilities>(7), B<cpuset>(7)"
msgid ""
"B<taskset>(1), B<clone>(2), B<getcpu>(2), B<getpriority>(2), B<gettid>(2), "
"B<nice>(2), B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), "
"B<CPU_SET>(3), B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), "
"B<capabilities>(7), B<cpuset>(7)"
msgstr ""
-"B<clone>(2), B<getcpu>(2), B<getpriority>(2), B<gettid>(2), B<nice>(2), "
-"B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), "
+"B<taskset>(1), B<clone>(2), B<getcpu>(2), B<getpriority>(2), B<gettid>(2), "
+"B<nice>(2), B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), "
"B<sched_getscheduler>(2), B<sched_setscheduler>(2), B<setpriority>(2), "
"B<CPU_SET>(3), B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), "
"B<capabilities>(7), B<cpuset>(7)"
#: build/C/man2/sched_setparam.2:30 build/C/man2/sched_setscheduler.2:46
#, no-wrap
msgid "2013-02-12"
-msgstr ""
+msgstr "2013-02-12"
#. type: Plain text
#: build/C/man2/sched_setparam.2:33
"なう"
#. type: Plain text
-#: build/C/man2/sched_setparam.2:36 build/C/man2/sched_setscheduler.2:53
-#, no-wrap
-msgid "B<#include E<lt>sched.hE<gt>>\n"
-msgstr "B<#include E<lt>sched.hE<gt>>\n"
-
-#. type: Plain text
#: build/C/man2/sched_setparam.2:38
#, no-wrap
msgid "B<int sched_setparam(pid_t >I<pid>B<, const struct sched_param *>I<param>B<);>\n"
"Scheduling parameters are in fact per-thread attributes on Linux; see "
"B<sched_setscheduler>(2)."
msgstr ""
+"Linux では、スケジューリングパラメータは実際にはスレッド単位の属性である。 "
+"B<sched_setscheduler>(2) 参照。"
#. type: Plain text
#: build/C/man2/sched_setparam.2:131
#. type: SS
#: build/C/man2/sched_setscheduler.2:108
-#, fuzzy, no-wrap
-#| msgid "Scheduling Policies"
+#, no-wrap
msgid "Scheduling policies"
msgstr "スケジューリング・ポリシー (scheduling policy)"
"Processes scheduled under one of the real-time policies (B<SCHED_FIFO>, "
"B<SCHED_RR>) have a I<sched_priority> value in the range 1 (low) to 99 "
"(high). (As the numbers imply, real-time processes always have higher "
-"priority than normal processes.) Note well: POSIX.1-2001 only requires an "
-"implementation to support a minimum 32 distinct priority levels for the real-"
-"time policies, and some systems supply just this minimum. Portable programs "
-"should use B<sched_get_priority_min>(2) and B<sched_get_priority_max>(2) "
-"to find the range of priorities supported for a particular policy."
+"priority than normal processes.) Note well: POSIX.1-2001 requires an "
+"implementation to support only a minimum 32 distinct priority levels for the "
+"real-time policies, and some systems supply just this minimum. Portable "
+"programs should use B<sched_get_priority_min>(2) and "
+"B<sched_get_priority_max>(2) to find the range of priorities supported for "
+"a particular policy."
msgstr ""
"リアルタイム・スケジューリング・ポリシー (B<SCHED_FIFO>, B<SCHED_RR>) の下で"
"スケジューリングされるプロセスは、 I<sched_priority> の値は 1 (最低) から 99 "
"All scheduling is preemptive: if a process with a higher static priority "
"becomes ready to run, the currently running process will be preempted and "
"returned to the wait list for its static priority level. The scheduling "
-"policy only determines the ordering within the list of runnable processes "
+"policy determines the ordering only within the list of runnable processes "
"with equal static priority."
msgstr ""
"全てのスケジューリングはプリエンプティブ (preemptive) である: より高い優先度"
#. type: SS
#: build/C/man2/sched_setscheduler.2:154
-#, fuzzy, no-wrap
-#| msgid "SCHED_FIFO: First In-First Out scheduling"
+#, no-wrap
msgid "SCHED_FIFO: First in-first out scheduling"
msgstr "SCHED_FIFO: ファーストイン・ファーストアウト・スケジューリング"
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:163
msgid ""
-"B<SCHED_FIFO> can only be used with static priorities higher than 0, which "
+"B<SCHED_FIFO> can be used only with static priorities higher than 0, which "
"means that when a B<SCHED_FIFO> processes becomes runnable, it will always "
"immediately preempt any currently running B<SCHED_OTHER>, B<SCHED_BATCH>, or "
"B<SCHED_IDLE> process. B<SCHED_FIFO> is a simple scheduling algorithm "
#. type: SS
#: build/C/man2/sched_setscheduler.2:198
-#, fuzzy, no-wrap
-#| msgid "SCHED_RR: Round Robin scheduling"
+#, no-wrap
msgid "SCHED_RR: Round-robin scheduling"
-msgstr "SCHED_RR: ラウンドロビン (round robin) ・スケジューリング"
+msgstr "SCHED_RR: ラウンドロビン (round-robin)・スケジューリング"
#. On Linux 2.4, the length of the RR interval is influenced
#. by the process nice value -- MTK
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:217
-#, fuzzy
-#| msgid ""
-#| "B<SCHED_RR> is a simple enhancement of B<SCHED_FIFO>. Everything "
-#| "described above for B<SCHED_FIFO> also applies to B<SCHED_RR>, except "
-#| "that each process is only allowed to run for a maximum time quantum. If "
-#| "a B<SCHED_RR> process has been running for a time period equal to or "
-#| "longer than the time quantum, it will be put at the end of the list for "
-#| "its priority. A B<SCHED_RR> process that has been preempted by a higher "
-#| "priority process and subsequently resumes execution as a running process "
-#| "will complete the unexpired portion of its round robin time quantum. The "
-#| "length of the time quantum can be retrieved using B<sched_rr_get_interval>"
-#| "(2)."
msgid ""
"B<SCHED_RR> is a simple enhancement of B<SCHED_FIFO>. Everything described "
"above for B<SCHED_FIFO> also applies to B<SCHED_RR>, except that each "
-"process is only allowed to run for a maximum time quantum. If a B<SCHED_RR> "
+"process is allowed to run only for a maximum time quantum. If a B<SCHED_RR> "
"process has been running for a time period equal to or longer than the time "
"quantum, it will be put at the end of the list for its priority. A "
"B<SCHED_RR> process that has been preempted by a higher priority process and "
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:233
msgid ""
-"B<SCHED_OTHER> can only be used at static priority 0. B<SCHED_OTHER> is the "
+"B<SCHED_OTHER> can be used at only static priority 0. B<SCHED_OTHER> is the "
"standard Linux time-sharing scheduler that is intended for all processes "
"that do not require the special real-time mechanisms. The process to run is "
"chosen from the static priority 0 list based on a I<dynamic> priority that "
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:245
msgid ""
-"(Since Linux 2.6.16.) B<SCHED_BATCH> can only be used at static priority "
+"(Since Linux 2.6.16.) B<SCHED_BATCH> can be used only at static priority "
"0. This policy is similar to B<SCHED_OTHER> in that it schedules the "
"process according to its dynamic priority (based on the nice value). The "
"difference is that this policy will cause the scheduler to always assume "
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:258
msgid ""
-"(Since Linux 2.6.23.) B<SCHED_IDLE> can only be used at static priority 0; "
+"(Since Linux 2.6.23.) B<SCHED_IDLE> can be used only at static priority 0; "
"the process nice value has no influence for this policy."
msgstr ""
"(Linux 2.6.23 以降) B<SCHED_IDLE> は静的優先度 0 でのみ使用できる。 このポリ"
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:307
msgid ""
-"After the B<SCHED_RESET_ON_FORK> flag has been enabled, it can only be reset "
+"After the B<SCHED_RESET_ON_FORK> flag has been enabled, it can be reset only "
"if the process has the B<CAP_SYS_NICE> capability. This flag is disabled in "
"child processes created by B<fork>(2)."
msgstr ""
"In Linux kernels before 2.6.12, only privileged (B<CAP_SYS_NICE>) processes "
"can set a nonzero static priority (i.e., set a real-time scheduling "
"policy). The only change that an unprivileged process can make is to set "
-"the B<SCHED_OTHER> policy, and this can only be done if the effective user "
+"the B<SCHED_OTHER> policy, and this can be done only if the effective user "
"ID of the caller of B<sched_setscheduler>() matches the real or effective "
"user ID of the target process (i.e., the process specified by I<pid>) whose "
"policy is being changed."
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:476
-#, fuzzy
-#| msgid ""
-#| "The affinity mask is actually a per-thread attribute that can be adjusted "
-#| "independently for each of the threads in a thread group. The value "
-#| "returned from a call to B<gettid>(2) can be passed in the argument "
-#| "I<pid>. Specifying I<pid> as 0 will set the attribute for the calling "
-#| "thread, and passing the value returned from a call to B<getpid>(2) will "
-#| "set the attribute for the main thread of the thread group. (If you are "
-#| "using the POSIX threads API, then use B<pthread_setaffinity_np>(3) "
-#| "instead of B<sched_setaffinity>().)"
msgid ""
"The scheduling policy and parameters are in fact per-thread attributes on "
"Linux. The value returned from a call to B<gettid>(2) can be passed in the "
"(3), B<pthread_getschedparam>(3), and B<pthread_setschedprio>(3), instead of "
"the B<sched_*>(2) system calls.)"
msgstr ""
-"実際には affinity マスクはスレッド単位の属性で、スレッドグループの 各スレッド"
-"単位に独立して調整することができる。 B<gettid>(2) コールからの返り値をこの"
-"コールの I<pid> 引き数として渡すことができる。 I<pid> に 0 を指定すると呼び出"
-"し元のスレッドの属性が設定され、 B<getpid>(2) コールからの返り値を I<pid> に"
-"指定するとスレッドグループのメインスレッドの属性が設定される (POSIX スレッド "
-"API を使用している場合、 B<sched_setaffinity>() の代わりに "
-"B<pthread_setaffinity_np>(3) を使用すること)。"
+"Linux では、 スケジューリングポリシーとスケジューリングパラメータは、 実際に"
+"はスレッド単位の属性である。 B<gettid>(2) の呼び出しの返り値をこのシステム"
+"コールの I<pid> 引き数として渡すことができる。 I<pid> に 0 を指定すると、 呼"
+"び出し元のスレッドの属性が設定される。 B<getpid>(2) コールからの返り値を "
+"I<pid> に指定すると、 スレッドグループのメインスレッドの属性が設定される "
+"(POSIX スレッド API を使用している場合は、 B<sched_*>(2) システムコールの代わ"
+"りに B<pthread_setschedparam>(3), B<pthread_getschedparam>(3), and "
+"B<pthread_setschedprio>(3) を使用すること)。"
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:486
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:510
-#, fuzzy
-#| msgid ""
-#| "and can be downloaded from I<http://www.kernel.org/pub/linux/kernel/"
-#| "projects/rt/>."
msgid ""
"and can be downloaded from E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/"
"kernel\\:/projects\\:/rt/> E<.UE .>"
msgstr ""
-"という名前で、 I<http://www.kernel.org/pub/linux/kernel/projects/rt/> からダ"
-"ウンロードできる。"
+"という名前で、 E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/kernel\\:/"
+"projects\\:/rt/> E<.UE> からダウンロードできる。"
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:519
#. type: Plain text
#: build/C/man2/sched_setscheduler.2:559
-#, fuzzy
-#| msgid ""
-#| "B<getpriority>(2), B<mlock>(2), B<mlockall>(2), B<munlock>(2), "
-#| "B<munlockall>(2), B<nice>(2), B<sched_get_priority_max>(2), "
-#| "B<sched_get_priority_min>(2), B<sched_getaffinity>(2), B<sched_getparam>"
-#| "(2), B<sched_rr_get_interval>(2), B<sched_setaffinity>(2), "
-#| "B<sched_setparam>(2), B<sched_yield>(2), B<setpriority>(2), "
-#| "B<capabilities>(7), B<cpuset>(7)"
msgid ""
"B<chrt>(1), B<getpriority>(2), B<mlock>(2), B<mlockall>(2), B<munlock>(2), "
"B<munlockall>(2), B<nice>(2), B<sched_get_priority_max>(2), "
"B<sched_rr_get_interval>(2), B<sched_setaffinity>(2), B<sched_setparam>(2), "
"B<sched_yield>(2), B<setpriority>(2), B<capabilities>(7), B<cpuset>(7)"
msgstr ""
-"B<getpriority>(2), B<mlock>(2), B<mlockall>(2), B<munlock>(2), B<munlockall>"
-"(2), B<nice>(2), B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), "
-"B<sched_getaffinity>(2), B<sched_getparam>(2), B<sched_rr_get_interval>(2), "
-"B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_yield>(2), "
-"B<setpriority>(2), B<capabilities>(7), B<cpuset>(7)"
+"B<chrt>(1), B<getpriority>(2), B<mlock>(2), B<mlockall>(2), B<munlock>(2), "
+"B<munlockall>(2), B<nice>(2), B<sched_get_priority_max>(2), "
+"B<sched_get_priority_min>(2), B<sched_getaffinity>(2), B<sched_getparam>(2), "
+"B<sched_rr_get_interval>(2), B<sched_setaffinity>(2), B<sched_setparam>(2), "
+"B<sched_yield>(2), B<setpriority>(2), B<capabilities>(7), B<cpuset>(7)"
#. type: Plain text
-#: build/C/man2/sched_setscheduler.2:567
-#, fuzzy
-#| msgid ""
-#| "The kernel source file I<Documentation/scheduler/sched-rt-group.txt> "
-#| "(since kernel 2.6.25)."
+#: build/C/man2/sched_setscheduler.2:566
msgid ""
-"I<Documentation/scheduler/sched-rt-group.txt> in the Linux kernel source "
-"tree (since kernel 2.6.25)."
+"The Linux kernel source file I<Documentation/scheduler/sched-rt-group.txt>"
msgstr ""
-"カーネル・ソース内のファイル I<Documentation/scheduler/sched-rt-group.txt> "
-"(カーネル 2.6.25 以降)"
+"Linux カーネルソースファイル I<Documentation/scheduler/sched-rt-group.txt>"
#. type: TH
#: build/C/man2/sched_yield.2:29
"レッドしか 存在しなければ、そのスレッドは呼び出し後も走り続けることになる。"
#. type: Plain text
-#: build/C/man2/sched_yield.2:65
+#: build/C/man2/sched_yield.2:66
msgid ""
"POSIX systems on which B<sched_yield>() is available define "
"B<_POSIX_PRIORITY_SCHEDULING> in I<E<lt>unistd.hE<gt>>."
"B<_POSIX_PRIORITY_SCHEDULING> が定義されている場合にのみ使用可能である。"
#. type: Plain text
-#: build/C/man2/sched_yield.2:78
+#: build/C/man2/sched_yield.2:79
msgid ""
"Strategic calls to B<sched_yield>() can improve performance by giving other "
"threads or processes a chance to run when (heavily) contended resources (e."
"り、システム性能が 劣化する結果になるからである。"
#. type: Plain text
-#: build/C/man2/sched_yield.2:81
-#, fuzzy
-#| msgid "B<sched_setscheduler>(2) for a description of Linux scheduling."
+#: build/C/man2/sched_yield.2:82
msgid "B<sched_setscheduler>(2) for a description of Linux scheduling"
msgstr ""
-"Linux のスケージュリング(scheduling)については B<sched_setscheduler>(2) を参"
-"照せよ。"
+"Linux のスケージュリング (scheduling) については B<sched_setscheduler>(2) を"
+"参照。"
#. type: TH
#: build/C/man2/setns.2:8
msgid "SETNS"
msgstr "SETNS"
+#. type: TH
+#: build/C/man2/setns.2:8
+#, no-wrap
+msgid "2013-01-01"
+msgstr "2013-01-01"
+
#. type: Plain text
#: build/C/man2/setns.2:11
msgid "setns - reassociate thread with a namespace"
"The program opens the namespace file, joins that namespace using B<setns>(), "
"and executes the specified command inside that namespace."
msgstr ""
+"以下のプログラムは 2 つ以上の引き数を取る。 最初の引き数には、 既存の I</"
+"proc/[pid]/ns/> ディレクトリの名前空間ファイルのパス名を指定する。 残りの引き"
+"数は、コマンドとその引き数を指定する。 このプログラムは名前空間ファイルをオー"
+"プンし、 B<setns>() を使って名前空間に参加し、 指定されたコマンドをその名前空"
+"間内で実行する。"
#. type: Plain text
#: build/C/man2/setns.2:131
"example program in the B<clone>(2) man page (complied as a binary named "
"I<newuts>)."
msgstr ""
+"以下のシェルセッションでは、 このプログラム (I<ns_exec> という名前のバイナリ"
+"としてコンパイルされている)を、 B<clone>(2) のマニュアルページの "
+"B<CLONE_NEWUTS> のサンプルプログラムと組み合わせて使っている。"
#. type: Plain text
#: build/C/man2/setns.2:139
"the hostnames in their UTS namespaces, so that we can see that they are "
"different."
msgstr ""
+"まず、 B<clone>(2) のサンプルプログラムをバックグラウンドで実行する。 このプ"
+"ログラムは、 別の UTS 名前空間で子プロセスを作成する。 子プロセスは自分の名前"
+"空間内でホスト名を変更する。 それから、 親プロセスと子プロセスの両方でそれぞ"
+"れの UTS 名前空間のホスト名を表示し、 2 つのホスト名が違うことが確認できる。"
#. type: Plain text
#: build/C/man2/setns.2:151
"# B<uname -n> # Verify hostname in the shell\n"
"antero\n"
msgstr ""
+"$ B<su> # 名前空間の操作には特権が必要\n"
+"Password:\n"
+"# B<./newuts bizarro &>\n"
+"[1] 3549\n"
+"clone() returned 3550\n"
+"uts.nodename in child: bizarro\n"
+"uts.nodename in parent: antero\n"
+"# B<uname -n> # シェルでホスト名を確認\n"
+"antero\n"
#. type: Plain text
#: build/C/man2/setns.2:158
"that shell, we verify that the hostname is the one set by the child created "
"by the first program:"
msgstr ""
+"次に、以下のプログラムを使ってシェルを実行する。 このシェルの中では、ホスト名"
+"が最初のプログラムで作成された子プロセスが設定したホスト名になっていることを"
+"確認できる。"
#. type: Plain text
#: build/C/man2/setns.2:164
"# B<uname -n> # Executed in shell started by ns_exec\n"
"bizarro\n"
msgstr ""
+"# B<./ns_exec /proc/3550/ns/uts /bin/bash>\n"
+"# B<uname -n> # ns_exec で起動されたシェル内で実行\n"
+"bizarro\n"
#. type: SS
#: build/C/man2/setns.2:166
#, no-wrap
msgid "Program source"
-msgstr ""
+msgstr "プログラムのソース"
#. type: Plain text
#: build/C/man2/setns.2:174
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#define _GNU_SOURCE\n"
-#| "#include E<lt>sched.hE<gt>\n"
-#| "#include E<lt>stdlib.hE<gt>\n"
-#| "#include E<lt>unistd.hE<gt>\n"
-#| "#include E<lt>stdio.hE<gt>\n"
-#| "#include E<lt>assert.hE<gt>\n"
+#, no-wrap
msgid ""
"#define _GNU_SOURCE\n"
"#include E<lt>fcntl.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
msgstr ""
"#define _GNU_SOURCE\n"
+"#include E<lt>fcntl.hE<gt>\n"
"#include E<lt>sched.hE<gt>\n"
-"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
-"#include E<lt>assert.hE<gt>\n"
#. type: Plain text
#: build/C/man2/setns.2:182
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int\n"
-#| "main(int argc, char *argv[])\n"
-#| "{\n"
-#| " cpu_set_t *cpusetp;\n"
-#| " size_t size;\n"
-#| " int num_cpus, cpu;\n"
+#, no-wrap
msgid ""
"int\n"
"main(int argc, char *argv[])\n"
"int\n"
"main(int argc, char *argv[])\n"
"{\n"
-" cpu_set_t *cpusetp;\n"
-" size_t size;\n"
-" int num_cpus, cpu;\n"
+" int fd;\n"
#. type: Plain text
#: build/C/man2/setns.2:187
-#, fuzzy, no-wrap
-#| msgid ""
-#| " if (argc E<lt> 2) {\n"
-#| " fprintf(stderr, \"Usage: %s E<lt>num-cpusE<gt>\\en\", argv[0]);\n"
-#| " exit(EXIT_FAILURE);\n"
-#| " }\n"
+#, no-wrap
msgid ""
" if (argc E<lt> 3) {\n"
" fprintf(stderr, \"%s /proc/PID/ns/FILE cmd args...\\en\", argv[0]);\n"
" exit(EXIT_FAILURE);\n"
" }\n"
msgstr ""
-" if (argc E<lt> 2) {\n"
-" fprintf(stderr, \"Usage: %s E<lt>num-cpusE<gt>\\en\", argv[0]);\n"
+" if (argc E<lt> 3) {\n"
+" fprintf(stderr, \"%s /proc/PID/ns/FILE cmd args...\\en\", argv[0]);\n"
" exit(EXIT_FAILURE);\n"
" }\n"
" if (fd == -1)\n"
" errExit(\"open\");\n"
msgstr ""
+" fd = open(argv[1], O_RDONLY); /* 名前空間のディスクリプタを取得 */\n"
+" if (fd == -1)\n"
+" errExit(\"open\");\n"
#. type: Plain text
#: build/C/man2/setns.2:194
" if (setns(fd, 0) == -1) /* Join that namespace */\n"
" errExit(\"setns\");\n"
msgstr ""
+" if (setns(fd, 0) == -1) /* 名前空間に参加 */\n"
+" errExit(\"setns\");\n"
#. type: Plain text
#: build/C/man2/setns.2:198
" errExit(\"execvp\");\n"
"}\n"
msgstr ""
+" execvp(argv[2], &argv[2]); /* 名前空間内でコマンドを実行 */\n"
+" errExit(\"execvp\");\n"
+"}\n"
#. type: Plain text
#: build/C/man2/setns.2:205
msgid "UNSHARE"
msgstr "UNSHARE"
-#. type: TH
-#: build/C/man2/unshare.2:20
-#, fuzzy, no-wrap
-#| msgid "2012-03-15"
-msgid "2012-12-31"
-msgstr "2012-03-15"
-
#. type: Plain text
#: build/C/man2/unshare.2:23
msgid "unshare - disassociate parts of the process execution context"
msgstr "unshare - プロセス実行コンテキストの一部を分離する"
#. type: Plain text
-#: build/C/man2/unshare.2:31
+#: build/C/man2/unshare.2:28
#, no-wrap
msgid "B<int unshare(int >I<flags>B<);>\n"
msgstr "B<int unshare(int >I<flags>B<);>\n"
#. type: Plain text
-#: build/C/man2/unshare.2:44
+#: build/C/man2/unshare.2:36
+msgid "B<unshare>():"
+msgstr "B<unshare>():"
+
+#. type: Plain text
+#: build/C/man2/unshare.2:62
msgid ""
"B<unshare>() allows a process to disassociate parts of its execution "
"context that are currently being shared with other processes. Part of the "
"とを要求できる。"
#. type: Plain text
-#: build/C/man2/unshare.2:49
+#: build/C/man2/unshare.2:67
msgid ""
"The main use of B<unshare>() is to allow a process to control its shared "
"execution context without creating a new process."
"有実行コンテキストを制御することである。"
#. type: Plain text
-#: build/C/man2/unshare.2:56
+#: build/C/man2/unshare.2:74
msgid ""
"The I<flags> argument is a bit mask that specifies which parts of the "
"execution context should be unshared. This argument is specified by ORing "
"するかを表す。 この引き数は、以下の定数の 0 個以上の OR で指定する:"
#. type: TP
-#: build/C/man2/unshare.2:56
+#: build/C/man2/unshare.2:74
#, no-wrap
msgid "B<CLONE_FILES>"
msgstr "B<CLONE_FILES>"
#. type: Plain text
-#: build/C/man2/unshare.2:64
+#: build/C/man2/unshare.2:82
msgid ""
"Reverse the effect of the B<clone>(2) B<CLONE_FILES> flag. Unshare the "
"file descriptor table, so that the calling process no longer shares its file "
"タを共有しなくなる。"
#. type: TP
-#: build/C/man2/unshare.2:64
+#: build/C/man2/unshare.2:82
#, no-wrap
msgid "B<CLONE_FS>"
msgstr "B<CLONE_FS>"
#. type: Plain text
-#: build/C/man2/unshare.2:78
-#, fuzzy
-#| msgid ""
-#| "Reverse the effect of the B<clone>(2) B<CLONE_FS> flag. Unshare file "
-#| "system attributes, so that the calling process no longer shares its root "
-#| "directory, current directory, or umask attributes with any other "
-#| "process. B<chroot>(2), B<chdir>(2), or B<umask>(2)"
+#: build/C/man2/unshare.2:96
msgid ""
"Reverse the effect of the B<clone>(2) B<CLONE_FS> flag. Unshare file "
"system attributes, so that the calling process no longer shares its root "
"directory (B<chroot>(2)), current directory (B<chdir>(2)), or umask (B<umask>"
"(2)) attributes with any other process."
msgstr ""
-"B<clone>(2) B<CLONE_FS> フラグの効果を取り消す。 ファイルシステム属性を共有"
-"させず、 呼び出し元プロセスは他のプロセスとルートディレクトリ・ カレントディ"
-"レクトリ・umask 属性を共有しなくなる。 B<chroot>(2), B<chdir>(2), B<umask>"
-"(2) に影響する。"
+"B<clone>(2) B<CLONE_FS> フラグの効果を取り消す。ファイルシステム属性を共有さ"
+"せず、呼び出し元プロセスは、ルートディレクトリ (B<chroot>(2))、カレントディレ"
+"クトリ (B<chdir>(2))、 umask (B<umask>(2)) を他のプロセスと共有しなくなる。"
#. type: Plain text
-#: build/C/man2/unshare.2:95
+#: build/C/man2/unshare.2:113
msgid ""
"This flag has the same effect as the B<clone>(2) B<CLONE_NEWIPC> flag. "
"Unshare the System V IPC namespace, so that the calling process has a "
"使用するには B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
#. type: Plain text
-#: build/C/man2/unshare.2:110
-#, fuzzy
-#| msgid ""
-#| "This flag has the same effect as the B<clone>(2) B<CLONE_NEWNET> flag. "
-#| "Unshare the network namespace, so that the calling process is moved into "
-#| "a new network namespace which is not shared with any previously existing "
-#| "process. B<CLONE_NEWNET> requires the B<CAP_SYS_ADMIN> capability."
+#: build/C/man2/unshare.2:128
msgid ""
"This flag has the same effect as the B<clone>(2) B<CLONE_NEWNET> flag. "
"Unshare the network namespace, so that the calling process is moved into a "
"には B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
#. type: TP
-#: build/C/man2/unshare.2:110
+#: build/C/man2/unshare.2:128
#, no-wrap
msgid "B<CLONE_NEWNS>"
msgstr "B<CLONE_NEWNS>"
#. CLONE_FS, and CLONE_FILES reverse the action of the clone()
#. flags of the same name.
#. type: Plain text
-#: build/C/man2/unshare.2:131
+#: build/C/man2/unshare.2:149
msgid ""
"This flag has the same effect as the B<clone>(2) B<CLONE_NEWNS> flag. "
"Unshare the mount namespace, so that the calling process has a private copy "
"ケーパビリティが必要である。"
#. type: Plain text
-#: build/C/man2/unshare.2:145
+#: build/C/man2/unshare.2:163
msgid ""
"This flag has the same effect as the B<clone>(2) B<CLONE_NEWUTS> flag. "
"Unshare the UTS IPC namespace, so that the calling process has a private "
"B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
#. type: TP
-#: build/C/man2/unshare.2:145
+#: build/C/man2/unshare.2:163
#, no-wrap
msgid "B<CLONE_SYSVSEM> (since Linux 2.6.26)"
msgstr "B<CLONE_SYSVSEM> (Linux 2.6.26 以降)"
#. Unshare virtual memory, so that the calling process no
#. longer shares its virtual address space with any other process.
#. type: Plain text
-#: build/C/man2/unshare.2:182
+#: build/C/man2/unshare.2:200
msgid ""
"This flag reverses the effect of the B<clone>(2) B<CLONE_SYSVSEM> flag. "
"Unshare System V semaphore undo values, so that the calling process has a "
"B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
#. type: Plain text
-#: build/C/man2/unshare.2:189
+#: build/C/man2/unshare.2:207
msgid ""
"If I<flags> is specified as zero, then B<unshare>() is a no-op; no changes "
"are made to the calling process's execution context."
"元プロセスの実行コンテキストは、何も変更されない。"
#. type: Plain text
-#: build/C/man2/unshare.2:194
+#: build/C/man2/unshare.2:212
msgid ""
"On success, zero returned. On failure, -1 is returned and I<errno> is set "
"to indicate the error."
"ラーを示す値が設定される。"
#. type: Plain text
-#: build/C/man2/unshare.2:199
+#: build/C/man2/unshare.2:217
msgid "An invalid bit was specified in I<flags>."
msgstr "I<flags> に不正なビットが指定された。"
#. type: Plain text
-#: build/C/man2/unshare.2:203
+#: build/C/man2/unshare.2:221
msgid ""
"Cannot allocate sufficient memory to copy parts of caller's context that "
"need to be unshared."
"に、 十分なメモリが確保できなかった。"
#. type: Plain text
-#: build/C/man2/unshare.2:206
+#: build/C/man2/unshare.2:224
msgid ""
"The calling process did not have the required privileges for this operation."
msgstr "呼び出し元プロセスはこの操作を行うのに必要な特権を持っていなかった。"
#. type: Plain text
-#: build/C/man2/unshare.2:210
+#: build/C/man2/unshare.2:228
msgid "The B<unshare>() system call was added to Linux in kernel 2.6.16."
msgstr "B<unshare>() システムコールは Linux カーネル 2.6.16 で追加された。"
#. type: Plain text
-#: build/C/man2/unshare.2:214
+#: build/C/man2/unshare.2:232
msgid "The B<unshare>() system call is Linux-specific."
msgstr "B<unshare>() システムコールは Linux 固有である。"
#. be incrementally added to unshare without affecting legacy
#. applications using unshare.
#. type: Plain text
-#: build/C/man2/unshare.2:248
-#, fuzzy
-#| msgid ""
-#| "Not all of the process attributes that can be shared when a new process "
-#| "is created using B<clone>(2) can be unshared using B<unshare>(). In "
-#| "particular, as at kernel 2.6.16, B<unshare>() does not implement flags "
-#| "that reverse the effects of B<CLONE_SIGHAND>, B<CLONE_SYSVSEM>, "
-#| "B<CLONE_THREAD>, or B<CLONE_VM>. Such functionality may be added in the "
-#| "future, if required."
+#: build/C/man2/unshare.2:266
msgid ""
"Not all of the process attributes that can be shared when a new process is "
"created using B<clone>(2) can be unshared using B<unshare>(). In "
msgstr ""
"B<clone>(2) で新しいプロセスを生成したときに共有される全てのプロセス属性"
"を、 B<unshare>() によって共有の解除ができるわけではない。 特に、カーネル "
-"2.6.16 においては、 B<unshare>() に B<CLONE_SIGHAND>, B<CLONE_SYSVSEM>, "
-"B<CLONE_THREAD>, B<CLONE_VM> の効果を取り消すためのフラグが実装されていな"
-"い。 これらの機能は、必要であれば将来追加されるかもしれない。"
+"3.8 時点では、 B<unshare>() に B<CLONE_SIGHAND>, B<CLONE_THREAD>, "
+"B<CLONE_VM> の効果を取り消すためのフラグが実装されていない。 これらの機能は、"
+"必要であれば将来追加されるかもしれない。"
#. type: Plain text
-#: build/C/man2/unshare.2:254
-#, fuzzy
-#| msgid "B<clone>(2), B<fork>(2), B<vfork>(2), B<proc>(5), B<unix>(7)"
+#: build/C/man2/unshare.2:272
msgid "B<clone>(2), B<fork>(2), B<kcmp>(2), B<setns>(2), B<vfork>(2)"
-msgstr "B<clone>(2), B<fork>(2), B<vfork>(2), B<proc>(5), B<unix>(7)"
+msgstr "B<clone>(2), B<fork>(2), B<kcmp>(2), B<setns>(2), B<vfork>(2)"
#. type: Plain text
-#: build/C/man2/unshare.2:257
+#: build/C/man2/unshare.2:275
msgid "I<Documentation/unshare.txt> in the Linux kernel source tree"
-msgstr ""
+msgstr "Linux カーネルソース内の I<Documentation/unshare.txt>"
-#~ msgid "2011-09-08"
-#~ msgstr "2011-09-08"
-
-#~ msgid "B<CLONE_PTRACE>"
-#~ msgstr "B<CLONE_PTRACE>"
-
-#~ msgid "B<CLONE_VFORK>"
-#~ msgstr "B<CLONE_VFORK>"
-
-#~ msgid "2010-11-06"
-#~ msgstr "2010-11-06"
+#~ msgid ""
+#~ "B<clone>() creates a new process, in a manner similar to B<fork>(2). It "
+#~ "is actually a library function layered on top of the underlying B<clone>"
+#~ "() system call, hereinafter referred to as B<sys_clone>. A description "
+#~ "of B<sys_clone> is given toward the end of this page."
+#~ msgstr ""
+#~ "B<clone>() は B<fork>(2) と同じような方法で新しいプロセスを作成する。 "
+#~ "B<clone>() には、ライブラリ関数とその下層にあたる B<clone>() システム"
+#~ "コールが存在する。以下の説明では、システムコールの方を B<sys_clone> と表す"
+#~ "こととする。 B<sys_clone> に関する説明はこのマニュアルの最後の方にある。"
-#~ msgid "2011-09-19"
-#~ msgstr "2011-09-19"
+#~ msgid ""
+#~ "The B<clone>() and B<sys_clone> calls are Linux-specific and should not "
+#~ "be used in programs intended to be portable."
+#~ msgstr ""
+#~ "B<clone>() と B<sys_clone> コールは Linux 特有であり、移植を考慮したプロ"
+#~ "グラムでは使用すべき ではない。"
-#~ msgid "2012-05-04"
-#~ msgstr "2012-05-04"
+#~ msgid ""
+#~ "I<Documentation/scheduler/sched-rt-group.txt> in the Linux kernel source "
+#~ "tree (since kernel 2.6.25)."
+#~ msgstr ""
+#~ "Linux カーネルソース内の I<Documentation/scheduler/sched-rt-group.txt> "
+#~ "(カーネル 2.6.25 以降)"
#~ msgid ""
#~ "The PID namespace and the mount namespace are not currently supported. "
#~ "現在のところ、 PID 名前空間とマウント名前空間はサポートされていない\n"
#~ "(B<clone>(2) の B<CLONE_NEWPID> と B<CLONE_NEWNS> の説明を参照)。"
-#~ msgid "2010-10-30"
-#~ msgstr "2010-10-30"
-
-#~ msgid "B<clone>(2), B<fork>(2), B<vfork>(2), Documentation/unshare.txt"
-#~ msgstr "B<clone>(2), B<fork>(2), B<vfork>(2), Documentation/unshare.txt"
-
-#~ msgid "2011-10-04"
-#~ msgstr "2011-10-04"
-
-#~ msgid "B<#include E<lt>sys/sysinfo.hE<gt>>"
-#~ msgstr "B<#include E<lt>sys/sysinfo.hE<gt>>"
-
-#~ msgid "B<int get_nprocs(void);>"
-#~ msgstr "B<int get_nprocs(void);>"
-
-#~ msgid "B<int get_nprocs_conf(void);>"
-#~ msgstr "B<int get_nprocs_conf(void);>"
-
-#~ msgid "As given in DESCRIPTION."
-#~ msgstr "「説明」の節で説明した通りである。"
-
-#~ msgid "2010-09-10"
-#~ msgstr "2010-09-10"
-
-#~ msgid "2007-04-06"
-#~ msgstr "2007-04-06"
-
#~ msgid ""
#~ "If I<pid> is zero, the time quantum for the calling process is written "
#~ "into I<*tp>. The identified process should be running under the "
#~ "うことは決してないだろうし、 確実に使わないようにすべきである。 このフラグ"
#~ "は近いうちになくなることだろう。"
-#~ msgid "2008-11-06"
-#~ msgstr "2008-11-06"
-
#~ msgid ""
#~ "Special rules apply for the B<SCHED_IDLE>: an unprivileged process "
#~ "operating under this policy cannot change its policy, regardless of the "