X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=po4a%2Fsched%2Fpo%2Fja.po;h=768132e6cd5b3631dd0384764ba244f6052d9744;hb=3b854980d88e7301a0527b881f4385142e76e308;hp=1a25ca5d5e5d1acab5da16c56c2f6b648845788d;hpb=1e963c740f1b207168380c0fdf35e4f835447ddd;p=linuxjm%2FLDP_man-pages.git diff --git a/po4a/sched/po/ja.po b/po4a/sched/po/ja.po index 1a25ca5d..768132e6 100644 --- a/po4a/sched/po/ja.po +++ b/po4a/sched/po/ja.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2012-05-01 04:22+0900\n" -"PO-Revision-Date: 2012-05-04 05:03+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 \n" "Language-Team: LANGUAGE \n" "Language: \n" @@ -16,81 +16,73 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" #. type: TH -#: build/C/man3/CPU_SET.3:25 +#: build/C/man3/CPU_SET.3:27 #, no-wrap msgid "CPU_SET" msgstr "CPU_SET" #. type: TH -#: build/C/man3/CPU_SET.3:25 -#, fuzzy, no-wrap -#| msgid "2006-03-23" +#: build/C/man3/CPU_SET.3:27 +#, no-wrap msgid "2012-03-15" -msgstr "2006-03-23" +msgstr "2012-03-15" #. type: TH -#: build/C/man3/CPU_SET.3:25 build/C/man2/clone.2:43 -#: build/C/man2/sched_get_priority_max.2:30 build/C/man3/sched_getcpu.3:24 -#: build/C/man2/sched_rr_get_interval.2:30 build/C/man2/sched_setaffinity.2:35 -#: build/C/man2/sched_setparam.2:31 build/C/man2/sched_setscheduler.2:47 -#: build/C/man2/sched_yield.2:30 build/C/man2/setns.2:4 -#: build/C/man2/unshare.2:17 +#: build/C/man3/CPU_SET.3:27 build/C/man2/clone.2:45 build/C/man2/kcmp.2:28 +#: build/C/man2/sched_get_priority_max.2:29 build/C/man3/sched_getcpu.3:26 +#: build/C/man2/sched_rr_get_interval.2:29 build/C/man2/sched_setaffinity.2:34 +#: build/C/man2/sched_setparam.2:30 build/C/man2/sched_setscheduler.2:46 +#: build/C/man2/sched_yield.2:29 build/C/man2/setns.2:8 +#: build/C/man2/unshare.2:20 #, no-wrap msgid "Linux" msgstr "Linux" #. type: TH -#: build/C/man3/CPU_SET.3:25 build/C/man2/clone.2:43 -#: build/C/man2/sched_get_priority_max.2:30 build/C/man3/sched_getcpu.3:24 -#: build/C/man2/sched_rr_get_interval.2:30 build/C/man2/sched_setaffinity.2:35 -#: build/C/man2/sched_setparam.2:31 build/C/man2/sched_setscheduler.2:47 -#: build/C/man2/sched_yield.2:30 build/C/man2/setns.2:4 -#: build/C/man2/unshare.2:17 build/C/man3/get_nprocs_conf.3:24 +#: build/C/man3/CPU_SET.3:27 build/C/man2/clone.2:45 build/C/man2/kcmp.2:28 +#: build/C/man2/sched_get_priority_max.2:29 build/C/man3/sched_getcpu.3:26 +#: build/C/man2/sched_rr_get_interval.2:29 build/C/man2/sched_setaffinity.2:34 +#: build/C/man2/sched_setparam.2:30 build/C/man2/sched_setscheduler.2:46 +#: build/C/man2/sched_yield.2:29 build/C/man2/setns.2:8 +#: build/C/man2/unshare.2:20 #, no-wrap msgid "Linux Programmer's Manual" msgstr "Linux Programmer's Manual" #. type: SH -#: build/C/man3/CPU_SET.3:26 build/C/man2/clone.2:44 -#: build/C/man2/sched_get_priority_max.2:31 build/C/man3/sched_getcpu.3:25 -#: build/C/man2/sched_rr_get_interval.2:31 build/C/man2/sched_setaffinity.2:36 -#: build/C/man2/sched_setparam.2:32 build/C/man2/sched_setscheduler.2:48 -#: build/C/man2/sched_yield.2:31 build/C/man2/setns.2:5 -#: build/C/man2/unshare.2:18 build/C/man3/get_nprocs_conf.3:25 +#: build/C/man3/CPU_SET.3:28 build/C/man2/clone.2:46 build/C/man2/kcmp.2:29 +#: build/C/man2/sched_get_priority_max.2:30 build/C/man3/sched_getcpu.3:27 +#: build/C/man2/sched_rr_get_interval.2:30 build/C/man2/sched_setaffinity.2:35 +#: build/C/man2/sched_setparam.2:31 build/C/man2/sched_setscheduler.2:47 +#: build/C/man2/sched_yield.2:30 build/C/man2/setns.2:9 +#: build/C/man2/unshare.2:21 #, no-wrap msgid "NAME" msgstr "名前" #. type: Plain text -#: build/C/man3/CPU_SET.3:33 +#: build/C/man3/CPU_SET.3:35 msgid "" "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" 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:33 build/C/man2/clone.2:46 -#: build/C/man2/sched_get_priority_max.2:33 build/C/man3/sched_getcpu.3:27 -#: build/C/man2/sched_rr_get_interval.2:33 build/C/man2/sched_setaffinity.2:39 -#: build/C/man2/sched_setparam.2:34 build/C/man2/sched_setscheduler.2:51 -#: build/C/man2/sched_yield.2:33 build/C/man2/setns.2:7 -#: build/C/man2/unshare.2:20 build/C/man3/get_nprocs_conf.3:27 +#: build/C/man3/CPU_SET.3:35 build/C/man2/clone.2:48 build/C/man2/kcmp.2:31 +#: build/C/man2/sched_get_priority_max.2:32 build/C/man3/sched_getcpu.3:29 +#: build/C/man2/sched_rr_get_interval.2:32 build/C/man2/sched_setaffinity.2:38 +#: build/C/man2/sched_setparam.2:33 build/C/man2/sched_setscheduler.2:50 +#: build/C/man2/sched_yield.2:32 build/C/man2/setns.2:11 +#: build/C/man2/unshare.2:23 #, no-wrap 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:37 build/C/man2/clone.2:52 -#: build/C/man2/sched_setaffinity.2:43 build/C/man2/setns.2:11 -#: build/C/man2/unshare.2:26 +#: 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" @@ -100,13 +92,13 @@ msgstr "" "B<#include Esched.hE>\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:39 +#: build/C/man3/CPU_SET.3:41 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:43 +#: build/C/man3/CPU_SET.3:45 #, no-wrap msgid "" "BIB<, cpu_set_t *>IB<);>\n" @@ -118,13 +110,13 @@ msgstr "" "BIB<, cpu_set_t *>IB<);>\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:45 +#: build/C/man3/CPU_SET.3:47 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:52 +#: build/C/man3/CPU_SET.3:54 #, no-wrap msgid "" "BIB<,>\n" @@ -142,13 +134,13 @@ msgstr "" "B< cpu_set_t *>IB<, cpu_set_t *>IB<);>\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:54 +#: build/C/man3/CPU_SET.3:56 #, no-wrap msgid "BIB<, cpu_set_t *>IB<);>\n" msgstr "BIB<, cpu_set_t *>IB<);>\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:58 +#: build/C/man3/CPU_SET.3:60 #, no-wrap msgid "" "BIB<);>\n" @@ -160,13 +152,13 @@ msgstr "" "BIB<);>\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:60 +#: build/C/man3/CPU_SET.3:62 #, no-wrap msgid "BIB<, cpu_set_t *>IB<);>\n" msgstr "BIB<, cpu_set_t *>IB<);>\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:64 +#: build/C/man3/CPU_SET.3:66 #, no-wrap msgid "" "BIB<, size_t >IB<, cpu_set_t *>IB<);>\n" @@ -178,13 +170,13 @@ msgstr "" "BIB<, size_t >IB<, cpu_set_t *>IB<);>\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:66 +#: build/C/man3/CPU_SET.3:68 #, no-wrap msgid "BIB<, cpu_set_t *>IB<);>\n" msgstr "BIB<, cpu_set_t *>IB<);>\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:73 +#: build/C/man3/CPU_SET.3:75 #, no-wrap msgid "" "BIB<, cpu_set_t *>IB<,>\n" @@ -202,441 +194,383 @@ msgstr "" "B< cpu_set_t *>IB<, cpu_set_t *>IB<);>\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:76 +#: build/C/man3/CPU_SET.3:78 #, no-wrap msgid "BIB<, cpu_set_t *>IB<, cpu_set_t *>IB<);>\n" msgstr "BIB<, cpu_set_t *>IB<, cpu_set_t *>IB<);>\n" #. type: SH -#: build/C/man3/CPU_SET.3:77 build/C/man2/clone.2:58 -#: build/C/man2/sched_get_priority_max.2:39 build/C/man3/sched_getcpu.3:35 -#: build/C/man2/sched_rr_get_interval.2:37 build/C/man2/sched_setaffinity.2:50 -#: build/C/man2/sched_setparam.2:48 build/C/man2/sched_setscheduler.2:67 -#: build/C/man2/sched_yield.2:37 build/C/man2/setns.2:14 -#: build/C/man2/unshare.2:29 build/C/man3/get_nprocs_conf.3:33 +#: 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:50 #, no-wrap msgid "DESCRIPTION" msgstr "説明" #. type: Plain text -#: build/C/man3/CPU_SET.3:84 +#: build/C/man3/CPU_SET.3:86 msgid "" "The I data structure represents a set of CPUs. CPU sets are used " "by B(2) and similar interfaces." msgstr "" -"The I data structure represents a set of CPUs. CPU sets are used " -"by B(2) and similar interfaces." #. type: Plain text -#: build/C/man3/CPU_SET.3:91 +#: build/C/man3/CPU_SET.3:93 msgid "" "The I 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." msgstr "" -"The I 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:94 +#: build/C/man3/CPU_SET.3:96 msgid "The following macros are provided to operate on the CPU set I:" -msgstr "The following macros are provided to operate on the CPU set I:" +msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:94 +#: build/C/man3/CPU_SET.3:96 #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text -#: build/C/man3/CPU_SET.3:99 +#: build/C/man3/CPU_SET.3:101 msgid "Clears I, so that it contains no CPUs." -msgstr "Clears I, so that it contains no CPUs." +msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:99 +#: build/C/man3/CPU_SET.3:101 #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text -#: build/C/man3/CPU_SET.3:105 +#: build/C/man3/CPU_SET.3:107 msgid "Add CPU I to I." -msgstr "Add CPU I to I." +msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:105 +#: build/C/man3/CPU_SET.3:107 #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text -#: build/C/man3/CPU_SET.3:111 +#: build/C/man3/CPU_SET.3:113 msgid "Remove CPU I from I." -msgstr "Remove CPU I from I." +msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:111 +#: build/C/man3/CPU_SET.3:113 #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text -#: build/C/man3/CPU_SET.3:117 +#: build/C/man3/CPU_SET.3:119 msgid "Test to see if CPU I is a member of I." -msgstr "Test to see if CPU I is a member of I." +msgstr "" #. type: TP -#: build/C/man3/CPU_SET.3:117 +#: build/C/man3/CPU_SET.3:119 #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text -#: build/C/man3/CPU_SET.3:121 +#: build/C/man3/CPU_SET.3:123 msgid "Return the number of CPUs in I." -msgstr "Return the number of CPUs in I." +msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:126 +#: build/C/man3/CPU_SET.3:128 msgid "" "Where a I argument is specified, it should not produce side effects, " "since the above macros may evaluate the argument more than once." msgstr "" -"Where a I 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:137 +#: build/C/man3/CPU_SET.3:139 msgid "" "The first available CPU on the system corresponds to a I value of 0, " "the next CPU corresponds to a I value of 1, and so on. The constant " "B (currently 1024) specifies a value one greater than the " "maximum CPU number that can be stored in I." msgstr "" -"The first available CPU on the system corresponds to a I value of 0, " -"the next CPU corresponds to a I value of 1, and so on. The constant " -"B (currently 1024) specifies a value one greater than the " -"maximum CPU number that can be stored in I." #. type: Plain text -#: build/C/man3/CPU_SET.3:139 +#: 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:139 +#: build/C/man3/CPU_SET.3:141 #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text -#: build/C/man3/CPU_SET.3:148 +#: build/C/man3/CPU_SET.3:150 msgid "" "Store the intersection of the sets I and I in I " "(which may be one of the source sets)." msgstr "" -"Store the intersection of the sets I and I in I " -"(which may be one of the source sets)." #. type: TP -#: build/C/man3/CPU_SET.3:148 +#: build/C/man3/CPU_SET.3:150 #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text -#: build/C/man3/CPU_SET.3:157 +#: build/C/man3/CPU_SET.3:159 msgid "" "Store the union of the sets I and I in I (which " "may be one of the source sets)." msgstr "" -"Store the union of the sets I and I in I (which " -"may be one of the source sets)." #. type: TP -#: build/C/man3/CPU_SET.3:157 +#: build/C/man3/CPU_SET.3:159 #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text -#: build/C/man3/CPU_SET.3:171 +#: build/C/man3/CPU_SET.3:173 msgid "" "Store the XOR of the sets I and I in I (which may " "be one of the source sets). The XOR means the set of CPUs that are in " "either I or I, but not both." msgstr "" -"Store the XOR of the sets I and I in I (which may " -"be one of the source sets). The XOR means the set of CPUs that are in " -"either I or I, but not both." #. type: TP -#: build/C/man3/CPU_SET.3:171 +#: build/C/man3/CPU_SET.3:173 #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text -#: build/C/man3/CPU_SET.3:174 +#: 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:174 +#: 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:180 +#: build/C/man3/CPU_SET.3:182 msgid "" "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 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 data type), glibc nowadays provides a set of macros to support " -"this." #. type: Plain text -#: build/C/man3/CPU_SET.3:182 +#: 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:182 +#: build/C/man3/CPU_SET.3:184 #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text -#: build/C/man3/CPU_SET.3:187 +#: build/C/man3/CPU_SET.3:189 msgid "" "Allocate a CPU set large enough to hold CPUs in the range 0 to I." msgstr "" -"Allocate a CPU set large enough to hold CPUs in the range 0 to I." #. type: TP -#: build/C/man3/CPU_SET.3:187 +#: build/C/man3/CPU_SET.3:189 #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text -#: build/C/man3/CPU_SET.3:197 +#: build/C/man3/CPU_SET.3:199 msgid "" "Return the size in bytes of the CPU set that would be needed to hold CPUs in " "the range 0 to I. This macro provides the value that can be " "used for the I argument in the B() 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. This macro provides the value that can be " -"used for the I argument in the B() macros described below." #. type: TP -#: build/C/man3/CPU_SET.3:197 +#: build/C/man3/CPU_SET.3:199 #, no-wrap msgid "B()" msgstr "B()" #. type: Plain text -#: build/C/man3/CPU_SET.3:201 +#: build/C/man3/CPU_SET.3:203 msgid "Free a CPU set previously allocated by B()." -msgstr "Free a CPU set previously allocated by B()." +msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:208 +#: build/C/man3/CPU_SET.3:210 msgid "" "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 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 bytes." #. type: SH -#: build/C/man3/CPU_SET.3:208 build/C/man2/clone.2:792 -#: build/C/man2/sched_get_priority_max.2:87 build/C/man3/sched_getcpu.3:38 -#: build/C/man2/sched_rr_get_interval.2:74 -#: build/C/man2/sched_setaffinity.2:108 build/C/man2/sched_setparam.2:88 -#: build/C/man2/sched_setscheduler.2:423 build/C/man2/sched_yield.2:42 -#: build/C/man2/setns.2:66 build/C/man2/unshare.2:183 -#: build/C/man3/get_nprocs_conf.3:44 +#: 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:207 #, no-wrap msgid "RETURN VALUE" msgstr "返り値" #. type: Plain text -#: build/C/man3/CPU_SET.3:217 +#: build/C/man3/CPU_SET.3:219 msgid "" "B() and B() return nonzero if I is in I; " "otherwise, it returns 0." msgstr "" -"B() and B() return nonzero if I is in I; " -"otherwise, it returns 0." #. type: Plain text -#: build/C/man3/CPU_SET.3:223 +#: build/C/man3/CPU_SET.3:225 msgid "" "B() and B() return the number of CPUs in I." msgstr "" -"B() and B() return the number of CPUs in I." #. type: Plain text -#: build/C/man3/CPU_SET.3:228 +#: build/C/man3/CPU_SET.3:230 msgid "" "B() and B() return nonzero if the two CPU sets are " "equal; otherwise it returns 0." msgstr "" -"B() and B() return nonzero if the two CPU sets are " -"equal; otherwise it returns 0." #. type: Plain text -#: build/C/man3/CPU_SET.3:233 +#: build/C/man3/CPU_SET.3:235 msgid "" "B() returns a pointer on success, or NULL on failure. (Errors " "are as for B(3).)" msgstr "" -"B() returns a pointer on success, or NULL on failure. (Errors " -"are as for B(3).)" #. type: Plain text -#: build/C/man3/CPU_SET.3:237 +#: build/C/man3/CPU_SET.3:239 msgid "" "B() returns the number of bytes required to store a CPU set " "of the specified cardinality." msgstr "" -"B() returns the number of bytes required to store a CPU set " -"of the specified cardinality." #. type: Plain text -#: build/C/man3/CPU_SET.3:239 +#: 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:239 build/C/man2/clone.2:909 -#: build/C/man3/sched_getcpu.3:50 build/C/man2/sched_setaffinity.2:149 -#: build/C/man2/setns.2:93 build/C/man2/unshare.2:200 +#: 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 "バージョン" #. type: Plain text -#: build/C/man3/CPU_SET.3:247 +#: build/C/man3/CPU_SET.3:249 msgid "" "The B(), B(), B(), and B() macros " "were added in glibc 2.3.3." msgstr "" -"The B(), B(), B(), and B() macros " -"were added in glibc 2.3.3." #. type: Plain text -#: build/C/man3/CPU_SET.3:250 +#: build/C/man3/CPU_SET.3:252 msgid "B() first appeared in glibc 2.6." -msgstr "B() first appeared in glibc 2.6." +msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:268 +#: build/C/man3/CPU_SET.3:270 msgid "" "B(), B(), B(), B(), B(), " "B(), B(), B(), B(), " "B(), B(), B(), B(), B" "(), and B() first appeared in glibc 2.7." msgstr "" -"B(), B(), B(), B(), B(), " -"B(), B(), B(), B(), " -"B(), B(), B(), B(), B" -"(), and B() first appeared in glibc 2.7." #. type: SH -#: build/C/man3/CPU_SET.3:268 build/C/man2/clone.2:916 -#: build/C/man2/sched_get_priority_max.2:101 build/C/man3/sched_getcpu.3:52 -#: build/C/man2/sched_rr_get_interval.2:95 -#: build/C/man2/sched_setaffinity.2:160 build/C/man2/sched_setparam.2:111 -#: build/C/man2/sched_setscheduler.2:445 build/C/man2/sched_yield.2:53 -#: build/C/man2/setns.2:97 build/C/man2/unshare.2:204 -#: build/C/man3/get_nprocs_conf.3:46 +#: 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:228 #, no-wrap msgid "CONFORMING TO" msgstr "準拠" #. type: Plain text -#: build/C/man3/CPU_SET.3:270 +#: 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:270 build/C/man2/clone.2:923 -#: build/C/man3/sched_getcpu.3:55 build/C/man2/sched_rr_get_interval.2:97 -#: build/C/man2/sched_setaffinity.2:162 build/C/man2/sched_setscheduler.2:448 -#: build/C/man2/sched_yield.2:55 build/C/man2/setns.2:101 -#: build/C/man2/unshare.2:208 build/C/man3/get_nprocs_conf.3:48 +#: 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:232 #, no-wrap msgid "NOTES" msgstr "注意" #. type: Plain text -#: build/C/man3/CPU_SET.3:273 +#: build/C/man3/CPU_SET.3:275 msgid "To duplicate a CPU set, use B(3)." -msgstr "To duplicate a CPU set, use B(3)." +msgstr "" #. type: Plain text -#: build/C/man3/CPU_SET.3:280 +#: build/C/man3/CPU_SET.3:282 msgid "" "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. 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. An application should consider " -"the contents of these extra bits to be undefined." #. type: Plain text -#: build/C/man3/CPU_SET.3:292 +#: build/C/man3/CPU_SET.3:294 msgid "" "Notwithstanding the similarity in the names, note that the constant " "B indicates the number of CPUs in the I data type " "(thus, it is effectively a count of bits in the bitset), while the " "I argument of the B() macros is a size in bytes." msgstr "" -"Notwithstanding the similarity in the names, note that the constant " -"B indicates the number of CPUs in the I data type " -"(thus, it is effectively a count of bits in the bitset), while the " -"I argument of the B() macros is a size in bytes." #. type: Plain text -#: build/C/man3/CPU_SET.3:298 +#: build/C/man3/CPU_SET.3:300 msgid "" "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." 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:298 build/C/man2/clone.2:970 -#: build/C/man2/sched_setscheduler.2:509 build/C/man2/setns.2:107 +#: build/C/man3/CPU_SET.3:300 build/C/man2/clone.2:1027 +#: build/C/man2/sched_setscheduler.2:530 #, no-wrap msgid "BUGS" msgstr "バグ" #. http://sourceware.org/bugzilla/show_bug.cgi?id=7029 #. type: Plain text -#: build/C/man3/CPU_SET.3:310 +#: build/C/man3/CPU_SET.3:312 msgid "" "On 32-bit platforms with glibc 2.8 and earlier, B() allocates " "twice as much space as is required, and B() returns a value " @@ -645,30 +579,23 @@ msgid "" "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() allocates " -"twice as much space as is required, and B() 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:310 build/C/man3/get_nprocs_conf.3:65 +#: 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:313 +#: build/C/man3/CPU_SET.3:315 msgid "" "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:321 +#: build/C/man3/CPU_SET.3:323 #, no-wrap msgid "" "#define _GNU_SOURCE\n" @@ -686,7 +613,7 @@ msgstr "" "#include Eassert.hE\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:328 +#: build/C/man3/CPU_SET.3:330 #, no-wrap msgid "" "int\n" @@ -704,7 +631,7 @@ msgstr "" " int num_cpus, cpu;\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:333 +#: build/C/man3/CPU_SET.3:335 #, no-wrap msgid "" " if (argc E 2) {\n" @@ -718,13 +645,13 @@ msgstr "" " }\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:335 +#: build/C/man3/CPU_SET.3:337 #, no-wrap msgid " num_cpus = atoi(argv[1]);\n" msgstr " num_cpus = atoi(argv[1]);\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:341 +#: build/C/man3/CPU_SET.3:343 #, no-wrap msgid "" " cpusetp = CPU_ALLOC(num_cpus);\n" @@ -740,13 +667,13 @@ msgstr "" " }\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:343 +#: build/C/man3/CPU_SET.3:345 #, no-wrap msgid " size = CPU_ALLOC_SIZE(num_cpus);\n" msgstr " size = CPU_ALLOC_SIZE(num_cpus);\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:347 +#: build/C/man3/CPU_SET.3:349 #, no-wrap msgid "" " CPU_ZERO_S(size, cpusetp);\n" @@ -758,13 +685,13 @@ msgstr "" " CPU_SET_S(cpu, size, cpusetp);\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:349 +#: build/C/man3/CPU_SET.3:351 #, no-wrap msgid " printf(\"CPU_COUNT() of set: %d\\en\", CPU_COUNT_S(size, cpusetp));\n" msgstr " printf(\"CPU_COUNT() of set: %d\\en\", CPU_COUNT_S(size, cpusetp));\n" #. type: Plain text -#: build/C/man3/CPU_SET.3:353 +#: build/C/man3/CPU_SET.3:355 #, no-wrap msgid "" " CPU_FREE(cpusetp);\n" @@ -776,18 +703,18 @@ msgstr "" "}\n" #. type: SH -#: build/C/man3/CPU_SET.3:354 build/C/man2/clone.2:1012 -#: build/C/man2/sched_get_priority_max.2:103 build/C/man3/sched_getcpu.3:75 -#: build/C/man2/sched_rr_get_interval.2:126 -#: build/C/man2/sched_setaffinity.2:215 build/C/man2/sched_setparam.2:113 -#: build/C/man2/sched_setscheduler.2:517 build/C/man2/sched_yield.2:79 -#: build/C/man2/setns.2:115 build/C/man2/unshare.2:244 +#: 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:79 +#: build/C/man2/setns.2:199 build/C/man2/unshare.2:266 #, no-wrap msgid "SEE ALSO" msgstr "関連項目" #. type: Plain text -#: build/C/man3/CPU_SET.3:359 +#: build/C/man3/CPU_SET.3:361 msgid "" "B(2), B(3), " "B(3), B(7)" @@ -796,54 +723,70 @@ msgstr "" "B(3), B(7)" #. type: SH -#: build/C/man3/CPU_SET.3:359 build/C/man2/clone.2:1024 -#: build/C/man2/sched_get_priority_max.2:113 build/C/man3/sched_getcpu.3:77 -#: build/C/man2/sched_rr_get_interval.2:132 -#: build/C/man2/sched_setaffinity.2:231 build/C/man2/sched_setparam.2:127 -#: build/C/man2/sched_setscheduler.2:542 build/C/man2/sched_yield.2:85 -#: build/C/man2/setns.2:121 build/C/man2/unshare.2:249 -#: build/C/man3/get_nprocs_conf.3:86 +#: 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: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:366 build/C/man2/clone.2:1031 -#: build/C/man2/sched_get_priority_max.2:120 build/C/man3/sched_getcpu.3:84 -#: build/C/man2/sched_rr_get_interval.2:139 -#: build/C/man2/sched_setaffinity.2:238 build/C/man2/sched_setparam.2:134 -#: build/C/man2/sched_setscheduler.2:549 build/C/man2/sched_yield.2:92 -#: build/C/man2/setns.2:128 build/C/man2/unshare.2:256 -#: build/C/man3/get_nprocs_conf.3:93 +#: 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: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 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.40 of the Linux I project. A " +"This page is part of release 3.53 of the Linux I 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 プロジェクトのリリース 3.40 の一部\n" +"この man ページは Linux I プロジェクトのリリース 3.52 の一部\n" "である。プロジェクトの説明とバグ報告に関する情報は\n" "http://www.kernel.org/doc/man-pages/ に書かれている。" #. type: TH -#: build/C/man2/clone.2:43 +#: build/C/man2/clone.2:45 #, no-wrap msgid "CLONE" msgstr "CLONE" #. type: TH -#: build/C/man2/clone.2:43 -#, fuzzy, no-wrap -#| msgid "2011-10-04" -msgid "2011-09-08" -msgstr "2011-10-04" +#: build/C/man2/clone.2:45 +#, no-wrap +msgid "2013-04-16" +msgstr "2013-04-16" #. type: Plain text -#: build/C/man2/clone.2:46 +#: build/C/man2/clone.2:48 msgid "clone, __clone2 - create a child process" msgstr "clone, __clone2 - 子プロセスを作成する" #. type: Plain text -#: build/C/man2/clone.2:57 +#: 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 Esched.hE>\n" +msgstr "B<#include Esched.hE>\n" + +#. type: Plain text +#: build/C/man2/clone.2:58 #, no-wrap msgid "" "BIB<)(void *), void *>IB<,>\n" @@ -855,35 +798,102 @@ msgstr "" "B< /* pid_t *>IB<, struct user_desc *>IB<, pid_t *>IB< */ );>\n" #. type: Plain text +#: 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 "" +"BIB<, void *>IB<,>\n" +"B< void *>IB<, void *>IB<,>\n" +"B< struct pt_regs *>IB<);>\n" +msgstr "" +"BIB<, void *>IB<,>\n" +"B< void *>IB<, void *>IB<,>\n" +"B< struct pt_regs *>IB<);>\n" + +#. type: Plain text #: build/C/man2/clone.2:69 msgid "" -"B() creates a new process, in a manner similar to B(2). It is " -"actually a library function layered on top of the underlying B() " -"system call, hereinafter referred to as B. A description of " -"B is given toward the end of this page." +"Feature Test Macro Requirements for glibc wrapper function (see " +"B(7)):" +msgstr "" +"glibc ラッパー関数の機能検査マクロの要件 (B(7) 参照):" + +#. type: Plain text +#: build/C/man2/clone.2:72 +msgid "B():" +msgstr "B():" + +#. 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 "" +"_BSD_SOURCE || _SVID_SOURCE\n" +" /* _GNU_SOURCE also suffices */\n" +msgstr "" +"_BSD_SOURCE || _SVID_SOURCE\n" +" /* _GNU_SOURCE も定義される */\n" + +#. type: Plain text +#: build/C/man2/clone.2:90 +msgid "B() creates a new process, in a manner similar to B(2)." +msgstr "B() は、 B(2) と似た方法で新しいプロセスを作成する。" + +#. type: Plain text +#: build/C/man2/clone.2:97 +msgid "" +"This page describes both the glibc B() 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 "" -"B() は B(2) と同じような方法で新しいプロセスを作成する。 " -"B() には、ライブラリ関数とその下層にあたる B() システムコール" -"が存在する。以下の説明では、システムコールの方を B と表すこととす" -"る。 B に関する説明はこのマニュアルの最後の方にある。" +"このページでは、 glibc の B() ラッパー関数とその裏で呼ばれるシステム" +"コールの両方について説明している。 メインの説明はラッパー関数に関するものであ" +"る。 素のシステムコールにおける差分はこのページの最後の方で説明する。" #. type: Plain text -#: build/C/man2/clone.2:81 +#: build/C/man2/clone.2:109 msgid "" -"Unlike B(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 " +"Unlike B(2), B() 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 below.)" msgstr "" -"B(2) とは異なり、これらのコールでは、子プロセス (child process) と呼" -"び出し元のプロセスとが、メモリ空間、 ファイルディスクリプタのテーブル、シグナ" -"ル・ハンドラのテーブルなどの 実行コンテキストの一部を共有できる。 (このマニュ" -"アルにおける「呼び出し元のプロセス」は、通常は 「親プロセス」と一致する。但" -"し、後述の B の項も参照のこと)" +"B(2) とは異なり、B() では、子プロセス (child process) と呼び出" +"し元のプロセスとが、メモリ空間、ファイルディスクリプタのテーブル、シグナル・" +"ハンドラのテーブルなどの 実行コンテキストの一部を共有できる。 (このマニュアル" +"における「呼び出し元のプロセス」は、通常は 「親プロセス」と一致する。但し、後" +"述の B の項も参照のこと)" #. type: Plain text -#: build/C/man2/clone.2:86 +#: build/C/man2/clone.2:114 msgid "" "The main use of B() is to implement threads: multiple threads of " "control in a program that run concurrently in a shared memory space." @@ -892,14 +902,13 @@ msgstr "" "ログラムの中の複数のスレッドは共有されたメモリ空間で 同時に実行される。" #. type: Plain text -#: build/C/man2/clone.2:107 +#: build/C/man2/clone.2:134 msgid "" "When the child process is created with B(), it executes the function " -"application I(I). (This differs from B(2), where execution " -"continues in the child from the point of the B(2) call.) The I " -"argument is a pointer to a function that is called by the child process at " -"the beginning of its execution. The I argument is passed to the I " -"function." +"I(I). (This differs from B(2), where execution continues in " +"the child from the point of the B(2) call.) The I argument is a " +"pointer to a function that is called by the child process at the beginning " +"of its execution. The I argument is passed to the I function." msgstr "" "B() で子プロセスが作成された時に、作成された子プロセスは関数 I" "(I) を実行する。 (この点が B(2) とは異なる。 B(2) の場" @@ -908,7 +917,7 @@ msgstr "" "る。 I 引き数はそのまま I 関数へと渡される。" #. type: Plain text -#: build/C/man2/clone.2:117 +#: build/C/man2/clone.2:144 msgid "" "When the I(I) function application returns, the child process " "terminates. The integer returned by I is the exit code for the child " @@ -921,7 +930,7 @@ msgstr "" "る。" #. type: Plain text -#: build/C/man2/clone.2:133 +#: build/C/man2/clone.2:160 msgid "" "The I argument specifies the location of the stack used by the " "child process. Since the child and calling process may share memory, it is " @@ -942,7 +951,7 @@ msgstr "" "ために用意したメモリ空間の一番大きい アドレスを指すようにする。" #. type: Plain text -#: build/C/man2/clone.2:149 +#: build/C/man2/clone.2:176 msgid "" "The low byte of I contains the number of the I " "sent to the parent when the child dies. If this signal is specified as " @@ -959,7 +968,7 @@ msgstr "" "にシグナルは送られない。" #. type: Plain text -#: build/C/man2/clone.2:154 +#: build/C/man2/clone.2:181 msgid "" "I 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 " @@ -970,13 +979,13 @@ msgstr "" "何を共有するかを指定する:" #. type: TP -#: build/C/man2/clone.2:154 +#: build/C/man2/clone.2:181 #, no-wrap msgid "B (since Linux 2.5.49)" msgstr "B (Linux 2.5.49 以降)" #. type: Plain text -#: build/C/man2/clone.2:164 +#: build/C/man2/clone.2:191 msgid "" "Erase child thread ID at location I in child memory when the child " "exits, and do a wakeup on the futex at that address. The address involved " @@ -989,26 +998,26 @@ msgstr "" "この機能はスレッドライブラリで使用される。" #. type: TP -#: build/C/man2/clone.2:164 +#: build/C/man2/clone.2:191 #, no-wrap msgid "B (since Linux 2.5.49)" msgstr "B (Linux 2.5.49 以降)" #. type: Plain text -#: build/C/man2/clone.2:169 +#: build/C/man2/clone.2:196 msgid "Store child thread ID at location I in child memory." msgstr "" "子プロセスのメモリ内の I が指す場所に子プロセスのスレッド ID を格納す" "る。" #. type: TP -#: build/C/man2/clone.2:169 build/C/man2/unshare.2:53 +#: build/C/man2/clone.2:196 #, no-wrap -msgid "B" -msgstr "B" +msgid "B (since Linux 2.0)" +msgstr "B (Linux 2.0 以降)" #. type: Plain text -#: build/C/man2/clone.2:182 +#: build/C/man2/clone.2:209 msgid "" "If B is set, the calling process and the child process share " "the same file descriptor table. Any file descriptor created by the calling " @@ -1025,7 +1034,7 @@ msgstr "" "もう一方のプロセスにも影響する。" #. type: Plain text -#: build/C/man2/clone.2:196 +#: build/C/man2/clone.2:223 msgid "" "If B is not set, the child process inherits a copy of all file " "descriptors opened in the calling process at the time of B(). (The " @@ -1045,13 +1054,13 @@ msgstr "" "えない。" #. type: TP -#: build/C/man2/clone.2:196 build/C/man2/unshare.2:61 +#: build/C/man2/clone.2:223 #, no-wrap -msgid "B" -msgstr "B" +msgid "B (since Linux 2.0)" +msgstr "B (Linux 2.0 以降)" #. type: Plain text -#: build/C/man2/clone.2:211 +#: build/C/man2/clone.2:238 msgid "" "If B is set, the caller and the child process share the same file " "system information. This includes the root of the file system, the current " @@ -1067,7 +1076,7 @@ msgstr "" "方のプロセスにも影響が及ぶ。" #. type: Plain text -#: build/C/man2/clone.2:223 +#: build/C/man2/clone.2:250 msgid "" "If B 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() " @@ -1080,13 +1089,13 @@ msgstr "" "(2), B(2) を呼び出しても、もう一方のプロセスには影響を与えない。" #. type: TP -#: build/C/man2/clone.2:223 +#: build/C/man2/clone.2:250 #, no-wrap msgid "B (since Linux 2.6.25)" msgstr "B (Linux 2.6.25 以降)" #. type: Plain text -#: build/C/man2/clone.2:232 +#: build/C/man2/clone.2:259 msgid "" "If B 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(2)) the " @@ -1100,7 +1109,7 @@ msgstr "" #. the anticipatory and CFQ scheduler #. with CFQ and AS. #. type: Plain text -#: build/C/man2/clone.2:249 +#: 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 " @@ -1122,7 +1131,7 @@ msgstr "" "B を利用することで I/O 性能を良くすることができる。" #. type: Plain text -#: build/C/man2/clone.2:253 +#: build/C/man2/clone.2:280 msgid "" "If the kernel is not configured with the B option, this flag " "is a no-op." @@ -1131,13 +1140,13 @@ msgstr "" "意味も持たない。" #. type: TP -#: build/C/man2/clone.2:253 build/C/man2/unshare.2:74 +#: build/C/man2/clone.2:280 build/C/man2/unshare.2:96 #, no-wrap msgid "B (since Linux 2.6.19)" msgstr "B (Linux 2.6.19 以降)" #. type: Plain text -#: build/C/man2/clone.2:263 +#: build/C/man2/clone.2:290 msgid "" "If B is set, then create the process in a new IPC namespace. " "If this flag is not set, then (as with B(2)), the process is created " @@ -1149,25 +1158,38 @@ msgstr "" "び出し元のプロセスと同じ IPC 名前空間でプロセスが 作成される。 このフラグは、" "コンテナの実装での使用を意図して用意されたものである。" +#. commit 7eafd7c74c3f2e67c27621b987b28397110d643f +#. https://lwn.net/Articles/312232/ +#. type: Plain text +#: build/C/man2/clone.2:302 +msgid "" +"An IPC namespace provides an isolated view of System V IPC objects (see " +"B(7)) and (since Linux 2.6.30) POSIX message queues (see " +"B(7)). The common characteristic of these IPC mechanisms is " +"that IPC objects are identified by mechanisms other than filesystem " +"pathnames." +msgstr "" +"IPC 名前空間は、独立の System V IPC オブジェクト空間 (B(7) 参照) を提" +"供する 。 (Linux 2.6.30 以降では) 独立した POSIX メッセージキュー空間 " +"(B(7) 参照) も提供される。 これらの IPC 機構に共通の特徴とし" +"て、 IPC オブジェクトはファイルシステムのパス名とは違った仕組みで識別されると" +"いう点がある。" + #. type: Plain text -#: build/C/man2/clone.2:274 +#: build/C/man2/clone.2:306 msgid "" -"An IPC namespace consists of the set of identifiers for System V IPC " -"objects. (These objects are created using B(2), B(2), and " -"B(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." +"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(2), B(2), B" -"(2) を使って作成される)。 ある IPC 名前空間に作成されたオブジェクトは、 その" -"名前空間のメンバーである他のすべてのプロセスからも見えるが、 違う IPC 名前空" -"間のプロセスからは見えない。" +"ある IPC 名前空間に作成されたオブジェクトは、 その名前空間のメンバーである他" +"のすべてのプロセスからも見えるが、 違う IPC 名前空間のプロセスからは見えな" +"い。" #. type: Plain text -#: build/C/man2/clone.2:278 +#: build/C/man2/clone.2:310 msgid "" -"When an IPC namespace is destroyed (i.e, when the last process that is a " +"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." msgstr "" @@ -1175,7 +1197,7 @@ msgstr "" "が終了する時)、 その名前空間の全ての IPC オブジェクトは自動的に破棄される。" #. type: Plain text -#: build/C/man2/clone.2:287 +#: build/C/man2/clone.2:319 msgid "" "Use of this flag requires: a kernel configured with the B " "and B options and that the process be privileged " @@ -1188,21 +1210,21 @@ msgstr "" "うことはできない。" #. type: TP -#: build/C/man2/clone.2:287 build/C/man2/unshare.2:91 +#: build/C/man2/clone.2:319 build/C/man2/unshare.2:113 #, no-wrap msgid "B (since Linux 2.6.24)" msgstr "B (Linux 2.6.24 以降)" #. FIXME Check when the implementation was completed #. type: Plain text -#: build/C/man2/clone.2:292 +#: 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:301 +#: build/C/man2/clone.2:333 msgid "" "If B is set, then create the process in a new network " "namespace. If this flag is not set, then (as with B(2)), the process " @@ -1215,8 +1237,9 @@ msgstr "" "ロセスが 作成される。 このフラグは、コンテナの実装での使用を意図して用意され" "たものである。" +#. FIXME Add pointer to veth(4) page when it is eventually completed #. type: Plain text -#: build/C/man2/clone.2:315 +#: 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 " @@ -1237,7 +1260,7 @@ msgstr "" "リッジを作成したり することができる。" #. type: Plain text -#: build/C/man2/clone.2:320 +#: 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 " @@ -1249,7 +1272,7 @@ msgstr "" "はない)。" #. type: Plain text -#: build/C/man2/clone.2:325 +#: build/C/man2/clone.2:358 msgid "" "Use of this flag requires: a kernel configured with the B " "option and that the process be privileged (B)." @@ -1259,18 +1282,18 @@ msgstr "" "ある。" #. type: TP -#: build/C/man2/clone.2:325 +#: build/C/man2/clone.2:358 #, no-wrap msgid "B (since Linux 2.4.19)" msgstr "B (Linux 2.4.19 以降)" #. type: Plain text -#: build/C/man2/clone.2:328 +#: 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:349 +#: build/C/man2/clone.2:382 msgid "" "Every process lives in a mount namespace. The I of a process is " "the data (the set of mounts) describing the file hierarchy as seen by that " @@ -1290,7 +1313,7 @@ msgstr "" "受けない。" #. type: Plain text -#: build/C/man2/clone.2:356 +#: build/C/man2/clone.2:389 msgid "" "After a B() where the B flag is set, the cloned child " "is started in a new mount namespace, initialized with a copy of the " @@ -1301,7 +1324,7 @@ msgstr "" "スの名前空間のコピーで初期化される。" #. type: Plain text -#: build/C/man2/clone.2:368 +#: build/C/man2/clone.2:401 msgid "" "Only a privileged process (one having the B capability) may " "specify the B flag. It is not permitted to specify both " @@ -1312,7 +1335,7 @@ msgstr "" "で、 B と B の両方を指定することはできない。" #. type: TP -#: build/C/man2/clone.2:368 +#: build/C/man2/clone.2:401 #, no-wrap msgid "B (since Linux 2.6.24)" msgstr "B (Linux 2.6.24 以降)" @@ -1324,7 +1347,7 @@ msgstr "B (Linux 2.6.24 以降)" #. The primary kernel commit is 30e49c263e36341b60b735cbef5ca37912549264 #. Author: Pavel Emelyanov #. type: Plain text -#: build/C/man2/clone.2:385 +#: build/C/man2/clone.2:418 msgid "" "If B is set, then create the process in a new PID namespace. " "If this flag is not set, then (as with B(2)), the process is created " @@ -1337,7 +1360,7 @@ msgstr "" "装での使用を意図して用意されたものである。" #. type: Plain text -#: build/C/man2/clone.2:394 +#: 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" @@ -1350,7 +1373,7 @@ msgstr "" "な PID を持ったプロセスが作成される。" #. type: Plain text -#: build/C/man2/clone.2:406 +#: build/C/man2/clone.2:439 msgid "" "The first process created in a new namespace (i.e., the process created " "using the B flag) has the PID 1, and is the \"init\" process " @@ -1368,7 +1391,7 @@ msgstr "" "了される。" #. type: Plain text -#: build/C/man2/clone.2:425 +#: 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 " @@ -1395,7 +1418,7 @@ msgstr "" #. mount -t proc proc /proc #. type: Plain text -#: build/C/man2/clone.2:441 +#: 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 so that tools " @@ -1411,7 +1434,7 @@ msgstr "" "る。)" #. type: Plain text -#: build/C/man2/clone.2:448 +#: build/C/man2/clone.2:481 msgid "" "Use of this flag requires: a kernel configured with the B " "option and that the process be privileged (B). This flag " @@ -1422,13 +1445,13 @@ msgstr "" "ある。 このフラグは B と組み合わせて使うことはできない。" #. type: TP -#: build/C/man2/clone.2:448 build/C/man2/unshare.2:140 +#: build/C/man2/clone.2:481 build/C/man2/unshare.2:149 #, no-wrap msgid "B (since Linux 2.6.19)" msgstr "B (Linux 2.6.19 以降)" #. type: Plain text -#: build/C/man2/clone.2:460 +#: build/C/man2/clone.2:493 msgid "" "If B is set, then create the process in a new UTS namespace, " "whose identifiers are initialized by duplicating the identifiers from the " @@ -1443,7 +1466,7 @@ msgstr "" "る。 このフラグは、コンテナの実装での使用を意図して用意されたものである。" #. type: Plain text -#: build/C/man2/clone.2:472 +#: build/C/man2/clone.2:505 msgid "" "A UTS namespace is the set of identifiers returned by B(2); among " "these, the domain name and the host name can be modified by B" @@ -1457,7 +1480,7 @@ msgstr "" "のすべての プロセスに見えるが、別の UTS 名前空間のプロセスには見えない。" #. type: Plain text -#: build/C/man2/clone.2:477 +#: build/C/man2/clone.2:510 msgid "" "Use of this flag requires: a kernel configured with the B " "option and that the process be privileged (B)." @@ -1467,13 +1490,13 @@ msgstr "" "ある。" #. type: TP -#: build/C/man2/clone.2:477 +#: build/C/man2/clone.2:510 #, no-wrap msgid "B (since Linux 2.3.12)" msgstr "B (Linux 2.3.12 以降)" #. type: Plain text -#: build/C/man2/clone.2:484 +#: build/C/man2/clone.2:517 msgid "" "If B is set, then the parent of the new child (as returned by " "B(2)) will be the same as that of the calling process." @@ -1482,7 +1505,7 @@ msgstr "" "プロセスは呼び出し元のプロセスの親プロセスと同じになる。" #. type: Plain text -#: build/C/man2/clone.2:490 +#: build/C/man2/clone.2:523 msgid "" "If B is not set, then (as with B(2)) the child's parent " "is the calling process." @@ -1491,7 +1514,7 @@ msgstr "" "プロセスがその子供の親になる。" #. type: Plain text -#: build/C/man2/clone.2:498 +#: build/C/man2/clone.2:531 msgid "" "Note that it is the parent process, as returned by B(2), which is " "signaled when the child terminates, so that if B is set, then " @@ -1503,13 +1526,13 @@ msgstr "" "ロセスではなく呼び出し元のプロセスの 親プロセスにシグナルが送られる。" #. type: TP -#: build/C/man2/clone.2:498 +#: build/C/man2/clone.2:531 #, no-wrap msgid "B (since Linux 2.5.49)" msgstr "B (Linux 2.5.49 以降)" #. type: Plain text -#: build/C/man2/clone.2:506 +#: build/C/man2/clone.2:539 msgid "" "Store child thread ID at location I in parent and child memory. (In " "Linux 2.5.32-2.5.48 there was a flag B that did this.)" @@ -1519,13 +1542,13 @@ msgstr "" "いうフラグが存在した。)" #. type: TP -#: build/C/man2/clone.2:506 +#: build/C/man2/clone.2:539 #, no-wrap msgid "B (obsolete)" msgstr "B (廃止予定)" #. type: Plain text -#: build/C/man2/clone.2:517 +#: build/C/man2/clone.2:550 msgid "" "If B is set, the child process is created with the same process " "ID as the calling process. This is good for hacking the system, but " @@ -1538,13 +1561,13 @@ msgstr "" "0) だけがこのフラグを指定できる。 Linux 2.5.16 で削除された。" #. type: TP -#: build/C/man2/clone.2:517 +#: build/C/man2/clone.2:550 #, no-wrap -msgid "B" -msgstr "B" +msgid "B (since Linux 2.2)" +msgstr "B (Linux 2.2 以降)" #. type: Plain text -#: build/C/man2/clone.2:524 +#: build/C/man2/clone.2:557 msgid "" "If B is specified, and the calling process is being traced, " "then trace the child also (see B(2))." @@ -1553,13 +1576,13 @@ msgstr "" "場合、子プロセスも 同様に追跡される。 (B(2) を参照のこと)" #. type: TP -#: build/C/man2/clone.2:524 +#: build/C/man2/clone.2:557 #, no-wrap msgid "B (since Linux 2.5.32)" msgstr "B (Linux 2.5.32 以降)" #. type: Plain text -#: build/C/man2/clone.2:531 +#: build/C/man2/clone.2:564 msgid "" "The I argument is the new TLS (Thread Local Storage) descriptor. " "(See B(2).)" @@ -1568,13 +1591,13 @@ msgstr "" "(B(2) を参照のこと)" #. type: TP -#: build/C/man2/clone.2:531 +#: build/C/man2/clone.2:564 #, no-wrap -msgid "B" -msgstr "B" +msgid "B (since Linux 2.0)" +msgstr "B (Linux 2.0 以降)" #. type: Plain text -#: build/C/man2/clone.2:547 +#: build/C/man2/clone.2:580 msgid "" "If B is set, the calling process and the child process share " "the same table of signal handlers. If the calling process or child process " @@ -1594,7 +1617,7 @@ msgstr "" "(unblock) したりできる。" #. type: Plain text -#: build/C/man2/clone.2:558 +#: build/C/man2/clone.2:591 msgid "" "If B is not set, the child process inherits a copy of the " "signal handlers of the calling process at the time B() is called. " @@ -1607,7 +1630,7 @@ msgstr "" "には影響を与えない。" #. type: Plain text -#: build/C/man2/clone.2:566 +#: build/C/man2/clone.2:599 msgid "" "Since Linux 2.6.0-test6, I must also include B if " "B is specified" @@ -1616,13 +1639,13 @@ msgstr "" "も I に含めなければならない。" #. type: TP -#: build/C/man2/clone.2:566 +#: build/C/man2/clone.2:599 #, no-wrap msgid "B (since Linux 2.6.0-test2)" msgstr "B (Linux 2.6.0-test2 以降)" #. type: Plain text -#: build/C/man2/clone.2:575 +#: build/C/man2/clone.2:608 msgid "" "If B is set, then the child is initially stopped (as though " "it was sent a B signal), and must be resumed by sending it a " @@ -1634,20 +1657,22 @@ msgstr "" #. glibc 2.8 removed this defn from bits/sched.h #. type: Plain text -#: build/C/man2/clone.2:583 +#: build/C/man2/clone.2:616 msgid "" "This flag was I from Linux 2.6.25 onward, and was I " "altogether in Linux 2.6.38." msgstr "" +"このフラグは Linux 2.6.25 以降ではI<非推奨>であり、\n" +"Linux 2.6.38 で完全にI<削除>された。" #. type: TP -#: build/C/man2/clone.2:583 +#: build/C/man2/clone.2:616 #, no-wrap msgid "B (since Linux 2.5.10)" msgstr "B (Linux 2.5.10 以降)" #. type: Plain text -#: build/C/man2/clone.2:592 +#: build/C/man2/clone.2:625 msgid "" "If B is set, then the child and the calling process share a " "single list of System V semaphore undo values (see B(2)). If this " @@ -1660,13 +1685,13 @@ msgstr "" "初期値は空である)。" #. type: TP -#: build/C/man2/clone.2:592 +#: build/C/man2/clone.2:625 #, no-wrap msgid "B (since Linux 2.4.0-test8)" msgstr "B (Linux 2.4.0-test8以降)" #. type: Plain text -#: build/C/man2/clone.2:601 +#: build/C/man2/clone.2:634 msgid "" "If B is set, the child is placed in the same thread group as " "the calling process. To make the remainder of the discussion of " @@ -1679,7 +1704,7 @@ msgstr "" "するのに使うこととする。" #. type: Plain text -#: build/C/man2/clone.2:609 +#: 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 " @@ -1693,7 +1718,7 @@ msgstr "" "のスレッド・グループ ID を返す。" #. type: Plain text -#: build/C/man2/clone.2:618 +#: 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 " @@ -1705,7 +1730,7 @@ msgstr "" "返され、 スレッドは自分自身の TID を B(2) で取得できる。" #. type: Plain text -#: build/C/man2/clone.2:628 +#: build/C/man2/clone.2:661 msgid "" "When a call is made to B() without specifying B, then " "the resulting thread is placed in a new thread group whose TGID is the same " @@ -1716,7 +1741,7 @@ msgstr "" "に置かれる。このスレッドは 新しいスレッド・グループの「リーダー」である。" #. type: Plain text -#: build/C/man2/clone.2:650 +#: build/C/man2/clone.2:683 msgid "" "A new thread created with B has the same parent process as the " "caller of B() (i.e., like B), so that calls to " @@ -1736,7 +1761,7 @@ msgstr "" "る)。" #. type: Plain text -#: build/C/man2/clone.2:655 +#: 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 (or other termination) signal." @@ -1745,7 +1770,7 @@ msgstr "" "親プロセスに B (もしくは他の終了シグナル) が送られる。" #. type: Plain text -#: build/C/man2/clone.2:660 +#: build/C/man2/clone.2:693 msgid "" "If any of the threads in a thread group performs an B(2), then all " "threads other than the thread group leader are terminated, and the new " @@ -1756,7 +1781,7 @@ msgstr "" "のスレッド・グループ・リーダーの下で 実行される。" #. type: Plain text -#: build/C/man2/clone.2:666 +#: build/C/man2/clone.2:699 msgid "" "If one of the threads in a thread group creates a child using B(2), " "then any thread in the group can B(2) for that child." @@ -1766,7 +1791,7 @@ msgstr "" "できる。" #. type: Plain text -#: build/C/man2/clone.2:674 +#: build/C/man2/clone.2:707 msgid "" "Since Linux 2.5.35, I must also include B if " "B is specified." @@ -1775,7 +1800,7 @@ msgstr "" "B も含まれていなければならない。" #. type: Plain text -#: build/C/man2/clone.2:679 +#: build/C/man2/clone.2:712 msgid "" "Signals may be sent to a thread group as a whole (i.e., a TGID) using B" "(2), or to a specific thread (i.e., TID) using B(2)." @@ -1785,7 +1810,7 @@ msgstr "" "ることもできる。" #. type: Plain text -#: build/C/man2/clone.2:684 +#: 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 " @@ -1796,7 +1821,7 @@ msgstr "" "に影響を及ぼす (終了したり、停止したり、動作を継続したり、無視されたりする)。" #. type: Plain text -#: build/C/man2/clone.2:697 +#: build/C/man2/clone.2:730 msgid "" "Each thread has its own signal mask, as set by B(2), but " "signals can be pending either: for the whole process (i.e., deliverable to " @@ -1813,7 +1838,7 @@ msgstr "" "し元の スレッドに対する処理待ちシグナルを結合したシグナル集合が返される。" #. type: Plain text -#: build/C/man2/clone.2:709 +#: build/C/man2/clone.2:742 msgid "" "If B(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 " @@ -1832,13 +1857,13 @@ msgstr "" "し、 そのスレッドが B を使って送信されたシグナルを受信する。" #. type: TP -#: build/C/man2/clone.2:709 +#: build/C/man2/clone.2:742 #, no-wrap msgid "B (since Linux 2.5.46)" msgstr "B (Linux 2.5.46 以降)" #. type: Plain text -#: build/C/man2/clone.2:716 +#: build/C/man2/clone.2:749 msgid "" "If B is specified, then a tracing process cannot force " "B on this child process." @@ -1847,13 +1872,13 @@ msgstr "" "スに B を適用することができない。" #. type: TP -#: build/C/man2/clone.2:716 +#: build/C/man2/clone.2:749 #, no-wrap -msgid "B" -msgstr "B" +msgid "B (since Linux 2.2)" +msgstr "B (Linux 2.2 以降)" #. type: Plain text -#: build/C/man2/clone.2:728 +#: build/C/man2/clone.2:761 msgid "" "If B is set, the execution of the calling process is suspended " "until the child releases its virtual memory resources via a call to B" @@ -1864,7 +1889,7 @@ msgstr "" "元のプロセスの実行は停止される。" #. type: Plain text -#: build/C/man2/clone.2:734 +#: build/C/man2/clone.2:767 msgid "" "If B is not set then both the calling process and the child are " "schedulable after the call, and an application should not rely on execution " @@ -1875,13 +1900,13 @@ msgstr "" "らのプロセスの 実行順序に依存しないようにすべきである。" #. type: TP -#: build/C/man2/clone.2:734 +#: build/C/man2/clone.2:767 #, no-wrap -msgid "B" -msgstr "B" +msgid "B (since Linux 2.0)" +msgstr "B (Linux 2.0 以降)" #. type: Plain text -#: build/C/man2/clone.2:747 +#: build/C/man2/clone.2:780 msgid "" "If B is set, the calling process and the child process run in the " "same memory space. In particular, memory writes performed by the calling " @@ -1896,7 +1921,7 @@ msgstr "" "プしたりアンマップした場合、 もう一方のプロセスにも影響が及ぶ。" #. type: Plain text -#: build/C/man2/clone.2:756 +#: build/C/man2/clone.2:789 msgid "" "If B is not set, the child process runs in a separate copy of the " "memory space of the calling process at the time of B(). Memory " @@ -1909,43 +1934,139 @@ msgstr "" "(2) の場合と同様、もう一方のプロセスには影響しない。" #. type: SS -#: build/C/man2/clone.2:756 +#: 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:805 +msgid "" +"The raw B() system call corresponds more closely to B(2) in " +"that execution in the child continues from the point of the call. As such, " +"the I and I arguments of the B() wrapper function are " +"omitted. Furthermore, the argument order changes. The raw system call " +"interface on x86 and many other architectures is roughly:" +msgstr "" +"素の B システムコールは、より B(2) に近いかたちになっており、 子" +"プロセスの実行が呼び出しが行われた場所から続けられる。 そのため、 B() " +"ラッパー関数の引き数 I と I は省略される。 また、 引き数の順序も違っ" +"ている。 x86 と他の多くのアーキテクチャにおける、 素のシステムコールのイン" +"ターフェースは、 おおまかには次のようになっている。" #. type: Plain text -#: build/C/man2/clone.2:773 +#: build/C/man2/clone.2:811 +#, no-wrap msgid "" -"The B system call corresponds more closely to B(2) in that " -"execution in the child continues from the point of the call. Thus, " -"B only requires the I and I arguments, which " -"have the same meaning as for B(). (Note that the order of these " -"arguments differs from B().)" +"BIB<, void *>IB<,>\n" +"B< void *>IB<, void *>IB<,>\n" +"B< struct pt_regs *>IB<);>\n" msgstr "" -"B システムコールは、より B(2) に近いかたちになっており、子" -"プロセスの実行が呼び出しが行われた場所から 続けられる。 そのため、 " -"B が必要とする引き数は I と I だけであり、それ" -"らは B() と同じ意味を持つ (これらの引き数の順番は B() とは異" -"なることに注意せよ)。" +"BIB<, void *>IB<,>\n" +"B< void *>IB<, void *>IB<,>\n" +"B< struct pt_regs *>IB<);>\n" #. type: Plain text -#: build/C/man2/clone.2:784 +#: build/C/man2/clone.2:822 msgid "" -"Another difference for B is that the I 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 option should not be " -"specified." +"Another difference for the raw system call is that the I " +"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 option should " +"not be specified." msgstr "" -"B のもう一つの違いは、 I 引き数がゼロでも良いことであ" -"る。この場合には、どちらかのプロセスが スタックを変更した時に、書き込み時コ" -"ピー (copy-on-write) 方式により 子プロセスがスタック・ページの独立したコピー" -"を得られることが保証される。 この場合、正常に動作させるためには、 " +"生のシステムコールのもう一つの違いは、 I 引き数がゼロでも良いこ" +"とである。この場合には、どちらかのプロセスが スタックを変更した時に、書き込み" +"時コピー (copy-on-write) 方式により 子プロセスがスタック・ページの独立したコ" +"ピーを得られることが保証される。 この場合、正常に動作させるためには、 " "B オプションを指定してはならない。" #. type: Plain text -#: build/C/man2/clone.2:792 +#: 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:830 +#, no-wrap +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 "" +"BIB<)(void *), >\n" +"B< void *>IB<, size_t >IB<,>\n" +"B< int >IB<, void *>IB<, ... >\n" +"B< /* pid_t *>IB<, struct user_desc *>IB<, pid_t *>IB< */ );>\n" +msgstr "" +"BIB<)(void *), >\n" +"B< void *>IB<, size_t >IB<,>\n" +"B< int >IB<, void *>IB<, ... >\n" +"B< /* pid_t *>IB<, struct user_desc *>IB<, pid_t *>IB< */ );>\n" + +#. type: Plain text +#: 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 or I argument, and changes the order of the " +"arguments so that I is the first argument, and I is the last " +"argument." +msgstr "" +"上記のプロトタイプは glibc ラッパー関数用のものである。 素のシステムコールの" +"インターフェースには引き数 I と I がない。 また、引き数の順序が変わ" +"り、 I が最初の引き数で、 I が最後の引き数である。" + +#. type: Plain text +#: build/C/man2/clone.2:866 +msgid "" +"B<__clone2>() operates in the same way as B(), except that " +"I points to the lowest address of the child's stack area, " +"and I specifies the size of the stack pointed to by " +"I." +msgstr "" +"B<__clone2>() は B() と同じように動作するが、以下の点が異なる: " +"I は子プロセスのスタックエリアの最小のアドレスを指し、 " +"I は I が指し示すスタックエリアの大きさを示す。" + +#. 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() does not take arguments I, " "I, and I." @@ -1956,7 +2077,7 @@ msgstr "" #. gettid(2) returns current->pid; #. getpid(2) returns current->tgid; #. type: Plain text -#: build/C/man2/clone.2:801 +#: 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 " @@ -1967,41 +2088,43 @@ msgstr "" "成されず、 I が適切に設定される。" #. type: SH -#: build/C/man2/clone.2:801 build/C/man2/sched_get_priority_max.2:97 -#: build/C/man3/sched_getcpu.3:45 build/C/man2/sched_rr_get_interval.2:81 -#: build/C/man2/sched_setaffinity.2:117 build/C/man2/sched_setparam.2:97 -#: build/C/man2/sched_setscheduler.2:433 build/C/man2/sched_yield.2:49 -#: build/C/man2/setns.2:73 build/C/man2/unshare.2:188 +#: 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:212 #, no-wrap msgid "ERRORS" msgstr "エラー" #. type: TP -#: build/C/man2/clone.2:802 +#: build/C/man2/clone.2:884 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/clone.2:805 +#: build/C/man2/clone.2:887 msgid "Too many processes are already running." msgstr "すでに実行中のプロセスが多すぎる。" #. type: TP -#: build/C/man2/clone.2:805 build/C/man2/clone.2:812 build/C/man2/clone.2:827 -#: build/C/man2/clone.2:835 build/C/man2/clone.2:843 build/C/man2/clone.2:851 -#: build/C/man2/clone.2:857 build/C/man2/clone.2:867 build/C/man2/clone.2:875 -#: build/C/man2/clone.2:883 build/C/man2/sched_get_priority_max.2:98 -#: build/C/man2/sched_rr_get_interval.2:85 -#: build/C/man2/sched_setaffinity.2:121 build/C/man2/sched_setaffinity.2:129 -#: build/C/man2/sched_setparam.2:98 build/C/man2/sched_setscheduler.2:434 -#: build/C/man2/setns.2:78 build/C/man2/unshare.2:189 +#: 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:213 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/clone.2:812 +#: build/C/man2/clone.2:894 msgid "" "B was specified, but B was not. (Since Linux 2.6.0-" "test6.)" @@ -2018,7 +2141,7 @@ msgstr "" #. was specified. #. (Since Linux 2.6.0-test6.) #. type: Plain text -#: build/C/man2/clone.2:827 +#: build/C/man2/clone.2:909 msgid "" "B was specified, but B was not. (Since Linux " "2.5.35.)" @@ -2027,28 +2150,28 @@ msgstr "" "た。 (Linux 2.5.35 以降)" #. type: Plain text -#: build/C/man2/clone.2:835 +#: build/C/man2/clone.2:917 msgid "Both B and B were specified in I." msgstr "B と B の両方が I に指定された。" #. type: Plain text -#: build/C/man2/clone.2:843 +#: build/C/man2/clone.2:925 msgid "Both B and B were specified in I." msgstr "B と B の両方が I に指定された。" #. type: Plain text -#: build/C/man2/clone.2:851 +#: build/C/man2/clone.2:933 msgid "Both B and B were specified in I." msgstr "B と B の両方が I に指定された。" #. type: Plain text -#: build/C/man2/clone.2:857 +#: build/C/man2/clone.2:939 msgid "" "Returned by B() when a zero value is specified for I." msgstr "I にゼロを指定した場合に B() が返す。" #. type: Plain text -#: build/C/man2/clone.2:867 +#: build/C/man2/clone.2:949 msgid "" "B was specified in I, but the kernel was not configured " "with the B and B options." @@ -2057,7 +2180,7 @@ msgstr "" "B と B が有効になっていなかった。" #. type: Plain text -#: build/C/man2/clone.2:875 +#: build/C/man2/clone.2:957 msgid "" "B was specified in I, but the kernel was not configured " "with the B option." @@ -2066,7 +2189,7 @@ msgstr "" "B が有効になっていなかった。" #. type: Plain text -#: build/C/man2/clone.2:883 +#: build/C/man2/clone.2:965 msgid "" "B was specified in I, but the kernel was not configured " "with the B option." @@ -2075,7 +2198,7 @@ msgstr "" "B が有効になっていなかった。" #. type: Plain text -#: build/C/man2/clone.2:891 +#: build/C/man2/clone.2:973 msgid "" "B was specified in I, but the kernel was not configured " "with the B option." @@ -2084,13 +2207,13 @@ msgstr "" "B が有効になっていなかった。" #. type: TP -#: build/C/man2/clone.2:891 build/C/man2/setns.2:85 build/C/man2/unshare.2:193 +#: build/C/man2/clone.2:973 build/C/man2/setns.2:89 build/C/man2/unshare.2:217 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/clone.2:896 +#: 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." @@ -2099,16 +2222,16 @@ msgstr "" "コピーするのに必要なメモリを十分に割り当てることができない。" #. type: TP -#: build/C/man2/clone.2:896 build/C/man2/clone.2:905 -#: build/C/man2/sched_setaffinity.2:136 build/C/man2/sched_setparam.2:102 -#: build/C/man2/sched_setscheduler.2:439 build/C/man2/setns.2:88 -#: build/C/man2/unshare.2:197 +#: 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:221 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/clone.2:905 +#: build/C/man2/clone.2:987 msgid "" "B, B, B, B, or " "B was specified by an unprivileged process (process without " @@ -2119,12 +2242,12 @@ msgstr "" "た。" #. type: Plain text -#: build/C/man2/clone.2:909 +#: build/C/man2/clone.2:991 msgid "B was specified by a process other than process 0." msgstr "PID が 0 以外のプロセスによって B が指定された。" #. type: Plain text -#: build/C/man2/clone.2:916 +#: build/C/man2/clone.2:998 msgid "" "There is no entry for B() in libc5. glibc2 provides B() as " "described in this manual page." @@ -2133,16 +2256,16 @@ msgstr "" "マニュアルページに記載の通りである。" #. type: Plain text -#: build/C/man2/clone.2:923 +#: build/C/man2/clone.2:1002 msgid "" -"The B() and B calls are Linux-specific and should not be " -"used in programs intended to be portable." +"B() is Linux-specific and should not be used in programs intended to " +"be portable." msgstr "" -"B() と B コールは Linux 特有であり、移植を考慮したプログラ" -"ムでは使用すべき ではない。" +"B() は Linux 特有であり、移植を考慮したプログラムでは使用すべき ではな" +"い。" #. type: Plain text -#: build/C/man2/clone.2:933 +#: build/C/man2/clone.2:1012 msgid "" "In the kernel 2.4.x series, B generally does not make the " "parent of the new thread the same as the parent of the calling process. " @@ -2155,7 +2278,7 @@ msgstr "" "グを指定すると、 暗黙のうちに CLONE_PARENT フラグを指定したことになる。" #. type: Plain text -#: build/C/man2/clone.2:943 +#: build/C/man2/clone.2:1022 msgid "" "For a while there was B (introduced in 2.5.32): parent wants " "no child-exit signal. In 2.6.2 the need to give this together with " @@ -2167,7 +2290,7 @@ msgstr "" "要はなくなった。 このフラグはまだ定義されているが、何の効果もない。" #. type: Plain text -#: build/C/man2/clone.2:948 +#: build/C/man2/clone.2:1027 msgid "" "On i386, B() should not be called through vsyscall, but directly " "through I." @@ -2176,39 +2299,7 @@ msgstr "" "呼び出すべきである。" #. type: Plain text -#: build/C/man2/clone.2:950 -msgid "On ia64, a different system call is used:" -msgstr "ia64 では、別のシステムコールが使用される:" - -#. type: Plain text -#: build/C/man2/clone.2:957 -#, no-wrap -msgid "" -"BIB<)(void *), >\n" -"B< void *>IB<, size_t >IB<,>\n" -"B< int >IB<, void *>IB<, ... >\n" -"B< /* pid_t *>IB<, struct user_desc *>IB<, pid_t *>IB< */ );>\n" -msgstr "" -"BIB<)(void *), >\n" -"B< void *>IB<, size_t >IB<,>\n" -"B< int >IB<, void *>IB<, ... >\n" -"B< /* pid_t *>IB<, struct user_desc *>IB<, pid_t *>IB< */ );>\n" - -#. type: Plain text -#: build/C/man2/clone.2:970 -msgid "" -"The B<__clone2>() system call operates in the same way as B(), " -"except that I points to the lowest address of the child's " -"stack area, and I specifies the size of the stack pointed to by " -"I." -msgstr "" -"B<__clone2>() システムコールは B() と同じように動作するが、以下の点" -"が異なる: I は子プロセスのスタックエリアの最小のアドレスを" -"指し、 I は I が指し示すスタックエリアの大きさ" -"を示す。" - -#. type: Plain text -#: build/C/man2/clone.2:1001 +#: 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(2) that performs caching of PIDs. " @@ -2243,48 +2334,633 @@ msgstr "" "い。" #. type: Plain text -#: build/C/man2/clone.2:1004 +#: build/C/man2/clone.2:1061 #, no-wrap msgid " #include Esyscall.hE\n" msgstr " #include Esyscall.hE\n" #. type: Plain text -#: build/C/man2/clone.2:1006 +#: 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:1008 +#: 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:1070 +#, no-wrap +msgid "Create a child that executes in a separate UTS namespace" +msgstr "別の UTS 名前空間で動作する子プロセスを作成する" + +#. type: Plain text +#: build/C/man2/clone.2:1080 +msgid "" +"The following program demonstrates the use of B() to create a child " +"process that executes in a separate UTS namespace. The child changes the " +"hostname in its UTS namespace. Both parent and child then display the " +"system hostname, making it possible to see that the hostname differs in the " +"UTS namespaces of the parent and child. For an example of the use of this " +"program, see B(2)." +msgstr "" +"以下のプログラムは、 別の UTS 名前空間で動作する子プロセスを B() を" +"使って作成する例である。 子プロセスは、自分の UTS 名前空間においてホスト名を" +"変更する。 それから、親プロセスと子プロセスの両方でシステムのホスト名を表示" +"し、 親プロセスと子プロセスの UTS 名前空間でホスト名が異なることを確認する。 " +"このプログラムの使用方法については B(2) を参照。" + +#. type: Plain text +#: build/C/man2/clone.2:1090 +#, no-wrap +msgid "" +"#define _GNU_SOURCE\n" +"#include Esys/wait.hE\n" +"#include Esys/utsname.hE\n" +"#include Esched.hE\n" +"#include Estring.hE\n" +"#include Estdio.hE\n" +"#include Estdlib.hE\n" +"#include Eunistd.hE\n" +msgstr "" +"#define _GNU_SOURCE\n" +"#include Esys/wait.hE\n" +"#include Esys/utsname.hE\n" +"#include Esched.hE\n" +"#include Estring.hE\n" +"#include Estdio.hE\n" +"#include Estdlib.hE\n" +"#include Eunistd.hE\n" + +#. type: Plain text +#: 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:1098 +#, no-wrap +msgid "" +"static int /* Start function for cloned child */\n" +"childFunc(void *arg)\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:1100 +#, no-wrap +msgid " /* Change hostname in UTS namespace of child */\n" +msgstr " /* 子プロセスの UTS 名前空間でホスト名を変更する */\n" + +#. type: Plain text +#: 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:1105 +#, no-wrap +msgid " /* Retrieve and display hostname */\n" +msgstr " /* ホスト名を取得し表示する */\n" + +#. type: Plain text +#: 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: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:1115 +#, no-wrap +msgid " sleep(200);\n" +msgstr " sleep(200);\n" + +#. type: Plain text +#: 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:1120 +#, no-wrap +msgid "#define STACK_SIZE (1024 * 1024) /* Stack size for cloned child */\n" +msgstr "#define STACK_SIZE (1024 * 1024) /* clone される子プロセスのスタックサイズ */\n" + +#. type: Plain text +#: build/C/man2/clone.2:1128 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" char *stack; /* Start of stack buffer */\n" +" char *stackTop; /* End of stack buffer */\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:1133 +#, no-wrap +msgid "" +" if (argc E 2) {\n" +" fprintf(stderr, \"Usage: %s Echild-hostnameE\\en\", argv[0]);\n" +" exit(EXIT_SUCCESS);\n" +" }\n" +msgstr "" +" if (argc E 2) {\n" +" fprintf(stderr, \"Usage: %s Echild-hostnameE\\en\", argv[0]);\n" +" exit(EXIT_SUCCESS);\n" +" }\n" + +#. type: Plain text +#: build/C/man2/clone.2:1135 +#, no-wrap +msgid " /* Allocate stack for child */\n" +msgstr " /* 子プロセス用のスタックを割り当てる */\n" + +#. type: Plain text +#: build/C/man2/clone.2:1140 +#, no-wrap +msgid "" +" stack = malloc(STACK_SIZE);\n" +" if (stack == NULL)\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: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:1148 +#, no-wrap +msgid "" +" 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" +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:1150 +#, no-wrap +msgid " /* Parent falls through to here */\n" +msgstr " /* 親プロセスの実行はここに来る */\n" + +#. type: Plain text +#: build/C/man2/clone.2:1152 +#, no-wrap +msgid " sleep(1); /* Give child time to change its hostname */\n" +msgstr " sleep(1); /* 子プロセスがホスト名を変更する時間を与える */\n" + +#. type: Plain text +#: 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: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: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:1166 +#, no-wrap +msgid "" +" exit(EXIT_SUCCESS);\n" +"}\n" +msgstr "" +" exit(EXIT_SUCCESS);\n" +"}\n" + +#. type: Plain text +#: build/C/man2/clone.2:1181 +msgid "" +"B(2), B(2), B(2), B(2), B(2), " +"B(2), B(2), B(2), B(2), " +"B(2), B(2), B(7), B(7)" +msgstr "" +"B(2), B(2), B(2), B(2), B(2), " +"B(2), B(2), B(2), B(2), " +"B(2), B(2), B(7), B(7)" + +#. type: TH +#: build/C/man2/kcmp.2:28 +#, no-wrap +msgid "KCMP" +msgstr "KCMP" + +#. type: TH +#: build/C/man2/kcmp.2:28 +#, no-wrap +msgid "2013-01-27" +msgstr "2013-01-27" + +#. type: Plain text +#: build/C/man2/kcmp.2:31 +msgid "" +"kcmp - compare two processes to determine if they share a kernel resource" +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:34 +#, no-wrap +msgid "B<#include Elinux/kcmp.hE>\n" +msgstr "B<#include Elinux/kcmp.hE>\n" + +#. type: Plain text +#: build/C/man2/kcmp.2:37 +#, no-wrap +msgid "" +"BIB<, pid_t >IB<, int >IB<,>\n" +"B< unsigned long >IB<, unsigned long >IB<);>\n" +msgstr "" +"BIB<, pid_t >IB<, int >IB<,>\n" +"B< unsigned long >IB<, unsigned long >IB<);>\n" + +#. type: Plain text +#: build/C/man2/kcmp.2:41 +msgid "I: There is no glibc wrapper for this system call; see NOTES." +msgstr "" +"I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節" +"を参照。" + +#. type: Plain text +#: build/C/man2/kcmp.2:50 +msgid "" +"The B() system call can be used to check whether the two processes " +"identified by I and I share a kernel resource such as virtual " +"memory, file descriptors, and so on." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:55 +msgid "" +"The I argument specifies which resource is to be compared in the two " +"processes. It has one of the following values:" +msgstr "" +"I 引き数は 2 つのプロセス間でどのリソースを比較するかを指定する。 以下" +"のいずれかの値を指定する。" + +#. type: TP +#: build/C/man2/kcmp.2:55 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: build/C/man2/kcmp.2:67 +msgid "" +"Check whether a file descriptor I in the process I refers to the " +"same open file description (see B(2)) as file descriptor I in " +"the process I." +msgstr "" + +#. type: TP +#: build/C/man2/kcmp.2:67 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: build/C/man2/kcmp.2:75 +msgid "" +"Check whether the process share the same set of open file descriptors. The " +"arguments I and I are ignored." +msgstr "" + +#. type: TP +#: build/C/man2/kcmp.2:75 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: build/C/man2/kcmp.2:84 +msgid "" +"Check whether the processes share the same file system information (i.e., " +"file mode creation mask, working directory, and file system root). The " +"arguments I and I are ignored." +msgstr "" + +#. type: TP +#: build/C/man2/kcmp.2:84 +#, no-wrap +msgid "B" +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:92 +msgid "" +"Check whether the processes share I/O context. The arguments I and " +"I are ignored." +msgstr "" + +#. type: TP +#: build/C/man2/kcmp.2:92 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: build/C/man2/kcmp.2:100 +msgid "" +"Check whether the processes share the same table of signal dispositions. " +"The arguments I and I are ignored." +msgstr "" + +#. type: TP +#: build/C/man2/kcmp.2:100 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: build/C/man2/kcmp.2:109 +msgid "" +"Check whether the processes share the same list of System V semaphore undo " +"operations. The arguments I and I are ignored." +msgstr "" + +#. type: TP +#: build/C/man2/kcmp.2:109 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: build/C/man2/kcmp.2:117 +msgid "" +"Check whether the processes share the same address space. The arguments " +"I and I are ignored." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:124 +msgid "" +"Note the B() is not protected against false positives which may have " +"place if tasks are running. Which means one should stop tasks being " +"inspected with this syscall to obtain meaningful results." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:130 +msgid "" +"The return value of a successful call to B() is simply the result of " +"arithmetic comparison of kernel pointers (when the kernel compares " +"resources, it uses their memory addresses)." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:138 +msgid "" +"The easiest way to explain is to consider an example. Suppose that I " +"and I are the addresses of appropriate resources, then the return value " +"is one of the following:" +msgstr "" + +#. type: IP +#: build/C/man2/kcmp.2:139 +#, no-wrap +msgid "0" +msgstr "0" + +#. type: Plain text +#: build/C/man2/kcmp.2:144 +msgid "" +"I is equal to I; in other words, the two processes share the " +"resource." +msgstr "" + +#. type: IP +#: build/C/man2/kcmp.2:144 +#, no-wrap +msgid "1" +msgstr "1" + +#. type: Plain text +#: build/C/man2/kcmp.2:148 +msgid "I is less than I." +msgstr "" + +#. type: IP +#: build/C/man2/kcmp.2:148 +#, no-wrap +msgid "2" +msgstr "2" + +#. type: Plain text +#: build/C/man2/kcmp.2:152 +msgid "I is greater than I." +msgstr "" + +#. type: IP +#: build/C/man2/kcmp.2:152 +#, no-wrap +msgid "3" +msgstr "3" + +#. type: Plain text +#: build/C/man2/kcmp.2:157 +msgid "I is not equal to I, but ordering information is unavailable." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:162 +msgid "On error, -1 is returned, and I is set appropriately." +msgstr "エラーの場合は -1 が返され、 I が適切に設定される。" + +#. type: Plain text +#: build/C/man2/kcmp.2:167 +msgid "" +"B was designed to return values suitable for sorting. This is " +"particularly handy if one needs to compare a large number of file " +"descriptors." +msgstr "" + +#. type: TP +#: build/C/man2/kcmp.2:168 build/C/man2/setns.2:78 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: build/C/man2/kcmp.2:178 +msgid "" +"I is B and I or I is not an open file descriptor." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:182 +msgid "I is invalid." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:188 +msgid "" +"Insufficient permission to inspect process resources. The B " +"capability is required to inspect processes that you do not own." +msgstr "" + +#. type: TP +#: build/C/man2/kcmp.2:188 build/C/man2/sched_rr_get_interval.2:90 +#: build/C/man2/sched_setaffinity.2:145 build/C/man2/sched_setparam.2:107 +#: build/C/man2/sched_setscheduler.2:441 +#, no-wrap +msgid "B" +msgstr "B" + +#. type: Plain text +#: build/C/man2/kcmp.2:195 +msgid "Process I or I does not exist." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:199 +msgid "The B() system call first appeared in Linux 3.5." +msgstr "B() システムコールは Linux 3.5 で初めて登場した。" + #. type: Plain text -#: build/C/man2/clone.2:1024 +#: build/C/man2/kcmp.2:202 msgid "" -"B(2), B(2), B(2), B(2), B(2), " -"B(2), B(2), B(2), B(2), " -"B(7), B(7)" +"B() is Linux specific and should not be used in programs intended to " +"be portable." +msgstr "" +"B() は Linux 特有であり、 移植を考慮したプログラムでは使用すべきではな" +"い。" + +#. type: Plain text +#: build/C/man2/kcmp.2:205 +msgid "" +"Glibc does not provide a wrapper for this system call; call it using " +"B(2)." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:214 +msgid "" +"This system call is available only if the kernel was configured with " +"B. The main use of the system call is for the " +"checkpoint/restore in user space (CRIU) feature. The alternative to this " +"system call would have been to expose suitable process information via the " +"B(5) file system; this was deemed to be unsuitable for security " +"reasons." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:219 +msgid "" +"See B(2) for some background information on the shared resources " +"referred to on this page." +msgstr "" + +#. type: Plain text +#: build/C/man2/kcmp.2:222 +msgid "B(2), B(2)" msgstr "" -"B(2), B(2), B(2), B(2), B(2), " -"B(2), B(2), B(2), B(2), " -"B(7), B(7)" #. type: TH -#: build/C/man2/sched_get_priority_max.2:30 +#: build/C/man2/sched_get_priority_max.2:29 #, no-wrap msgid "SCHED_GET_PRIORITY_MAX" msgstr "SCHED_GET_PRIORITY_MAX" #. type: TH -#: build/C/man2/sched_get_priority_max.2:30 build/C/man2/sched_setparam.2:31 +#: build/C/man2/sched_get_priority_max.2:29 #, no-wrap msgid "2006-03-23" msgstr "2006-03-23" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:33 +#: build/C/man2/sched_get_priority_max.2:32 msgid "" "sched_get_priority_max, sched_get_priority_min - get static priority range" msgstr "" @@ -2292,23 +2968,23 @@ msgstr "" "得する" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:35 -#: build/C/man2/sched_rr_get_interval.2:35 build/C/man2/sched_yield.2:35 +#: build/C/man2/sched_get_priority_max.2:34 +#: build/C/man2/sched_rr_get_interval.2:34 build/C/man2/sched_yield.2:34 msgid "B<#include Esched.hE>" msgstr "B<#include Esched.hE>" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:37 +#: build/C/man2/sched_get_priority_max.2:36 msgid "BIB<);>" msgstr "BIB<);>" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:39 +#: build/C/man2/sched_get_priority_max.2:38 msgid "BIB<);>" msgstr "BIB<);>" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:55 +#: build/C/man2/sched_get_priority_max.2:57 msgid "" "B() returns the maximum priority value that can be " "used with the scheduling algorithm identified by I. " @@ -2327,7 +3003,7 @@ msgstr "" "B(2) に書かれている。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:64 +#: 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 " @@ -2339,7 +3015,7 @@ msgstr "" "す値は B() が返す値よりも大きい。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:70 +#: build/C/man2/sched_get_priority_max.2:77 msgid "" "Linux allows the static priority value range 1 to 99 for B and " "B and the priority 0 for B and B. " @@ -2351,7 +3027,7 @@ msgstr "" "とができない。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:79 +#: 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 " @@ -2367,7 +3043,7 @@ msgstr "" "することを要求している。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:87 +#: build/C/man2/sched_get_priority_max.2:98 msgid "" "POSIX systems on which B() and " "B() are available define " @@ -2378,7 +3054,7 @@ msgstr "" "る場合にのみ使用可能である。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:97 +#: build/C/man2/sched_get_priority_max.2:108 msgid "" "On success, B() and B() " "return the maximum/minimum priority value for the named scheduling policy. " @@ -2389,19 +3065,19 @@ msgstr "" "ラーの場合は -1 が返され、 I が適切に設定される。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:101 +#: build/C/man2/sched_get_priority_max.2:114 msgid "The argument I does not identify a defined scheduling policy." msgstr "引き数 I が定義されているスケジューリング方針と一致しない。" #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:103 -#: build/C/man2/sched_rr_get_interval.2:97 build/C/man2/sched_setparam.2:113 -#: build/C/man2/sched_yield.2:55 +#: 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:110 +#: build/C/man2/sched_get_priority_max.2:125 msgid "" "B(2), B(2), B(2), " "B(2), B(2), B(2)" @@ -2410,44 +3086,33 @@ msgstr "" "B(2), B(2), B(2)," #. type: Plain text -#: build/C/man2/sched_get_priority_max.2:113 -#: build/C/man2/sched_rr_get_interval.2:132 build/C/man2/sched_setparam.2:127 -#: build/C/man2/sched_setscheduler.2:538 build/C/man2/sched_yield.2:85 +#: 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 by Bill O. Gallmeister, O'Reilly " -"& Associates, Inc., ISBN 1-56592-074-0" +"& Associates, Inc., ISBN 1-56592-074-0." msgstr "" "I 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:24 +#: build/C/man3/sched_getcpu.3:26 #, no-wrap msgid "SCHED_GETCPU" msgstr "SCHED_GETCPU" #. type: TH -#: build/C/man3/sched_getcpu.3:24 +#: 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:27 +#: 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:32 -#, no-wrap -msgid "" -"B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" -"B<#include Esched.hE>\n" -msgstr "" -"B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */\n" -"B<#include Esched.hE>\n" - #. type: Plain text #: build/C/man3/sched_getcpu.3:34 #, no-wrap @@ -2455,7 +3120,18 @@ msgid "B\n" msgstr "B\n" #. type: Plain text -#: build/C/man3/sched_getcpu.3:38 +#: build/C/man3/sched_getcpu.3:39 build/C/man2/unshare.2:33 +msgid "" +"Feature Test Macro Requirements for glibc (see B(7)):" +msgstr "glibc 向けの機能検査マクロの要件 (B(7) 参照):" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:42 +msgid "B():" +msgstr "B():" + +#. type: Plain text +#: build/C/man3/sched_getcpu.3:58 msgid "" "B() returns the number of the CPU on which the calling thread " "is currently executing." @@ -2464,7 +3140,7 @@ msgstr "" "す。" #. type: Plain text -#: build/C/man3/sched_getcpu.3:45 +#: build/C/man3/sched_getcpu.3:65 msgid "" "On success, B() returns a nonnegative CPU number. On error, " "-1 is returned and I is set to indicate the error." @@ -2473,44 +3149,44 @@ msgstr "" "返し、 I にエラーを示す値を設定する。" #. type: TP -#: build/C/man3/sched_getcpu.3:46 build/C/man2/sched_rr_get_interval.2:88 +#: build/C/man3/sched_getcpu.3:66 build/C/man2/sched_rr_get_interval.2:87 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man3/sched_getcpu.3:50 +#: build/C/man3/sched_getcpu.3:70 msgid "This kernel does not implement B(2)." msgstr "このカーネルでは B(2) が実装されていない。" #. type: Plain text -#: build/C/man3/sched_getcpu.3:52 +#: 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:55 +#: build/C/man3/sched_getcpu.3:75 msgid "B() is glibc specific." msgstr "B() は glibc 固有である。" #. type: Plain text -#: build/C/man3/sched_getcpu.3:57 +#: build/C/man3/sched_getcpu.3:77 msgid "The call" msgstr "呼び出し" #. type: Plain text -#: build/C/man3/sched_getcpu.3:61 +#: 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:67 +#: build/C/man3/sched_getcpu.3:87 msgid "is equivalent to the following B(2) call:" msgstr "は、以下の B(2) 呼び出しと等価である。" #. type: Plain text -#: build/C/man3/sched_getcpu.3:73 +#: build/C/man3/sched_getcpu.3:93 #, no-wrap msgid "" "int c, s;\n" @@ -2522,59 +3198,54 @@ msgstr "" "cpu = (s == -1) ? s : c;\n" #. type: Plain text -#: build/C/man3/sched_getcpu.3:77 +#: build/C/man3/sched_getcpu.3:97 msgid "B(2)" msgstr "B(2)" #. type: TH -#: build/C/man2/sched_rr_get_interval.2:30 +#: build/C/man2/sched_rr_get_interval.2:29 #, no-wrap msgid "SCHED_RR_GET_INTERVAL" msgstr "SCHED_RR_GET_INTERVAL" #. type: TH -#: build/C/man2/sched_rr_get_interval.2:30 -#, fuzzy, no-wrap -#| msgid "2011-10-04" -msgid "2011-10-16" -msgstr "2011-10-04" +#: build/C/man2/sched_rr_get_interval.2:29 +#, no-wrap +msgid "2013-03-18" +msgstr "2013-03-18" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:33 +#: build/C/man2/sched_rr_get_interval.2:32 msgid "sched_rr_get_interval - get the SCHED_RR interval for the named process" msgstr "sched_rr_get_interval - 指定されたプロセスの SCHED_RR 間隔を取得する" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:37 +#: build/C/man2/sched_rr_get_interval.2:36 msgid "" "BIB<, struct timespec * >IB<);>" msgstr "" "BIB<, struct timespec *>IB<);>" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:48 -#, fuzzy -#| msgid "" -#| "B() writes into the I structure pointed " -#| "to by I the round-robin time quantum for the process identified by " -#| "I." +#: build/C/man2/sched_rr_get_interval.2:47 msgid "" "B() writes into the I structure pointed to " "by I the round-robin time quantum for the process identified by I. " "The specified process should be running under the B scheduling " "policy." msgstr "" -"B() は I で指定された I 構造体に " -"I で指定されたプロセスのラウンド・ロビン時間量 (round robin time " -"quantum) を書き込む。" +"B() は I で指定された I 構造体に\n" +"I で指定されたプロセスのラウンドロビン時間量 (round robin time\n" +"quantum) を書き込む。指定されたプロセスは B スケジューリング\n" +"ポリシーで動作しているはずである。" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:52 +#: build/C/man2/sched_rr_get_interval.2:51 msgid "The I structure has the following form:" msgstr "I 構造体は以下の通りである:" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:59 +#: build/C/man2/sched_rr_get_interval.2:58 #, no-wrap msgid "" "struct timespec {\n" @@ -2595,14 +3266,16 @@ msgstr "" #. The round-robin time quantum value is not alterable under Linux #. 1.3.81. #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:74 +#: build/C/man2/sched_rr_get_interval.2:73 msgid "" "If I is zero, the time quantum for the calling process is written into " "I<*tp>." msgstr "" +"I が 0 の場合、呼び出したプロセスの時間量 (time quantum) が\n" +"I<*tp> に書き込まれる。" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:81 +#: build/C/man2/sched_rr_get_interval.2:80 msgid "" "On success, B() returns 0. On error, -1 is " "returned, and I is set appropriately." @@ -2611,79 +3284,51 @@ msgstr "" "返され、 I が適切に設定される。" #. type: TP -#: build/C/man2/sched_rr_get_interval.2:82 -#: build/C/man2/sched_setaffinity.2:118 +#: build/C/man2/sched_rr_get_interval.2:81 +#: build/C/man2/sched_setaffinity.2:117 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:85 -msgid "Problem with copying information to userspace." +#: build/C/man2/sched_rr_get_interval.2:84 +msgid "Problem with copying information to user space." msgstr "情報をユーザ空間にコピーする時に問題が起きた。" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:88 +#: build/C/man2/sched_rr_get_interval.2:87 msgid "Invalid pid." msgstr "PID が不正である。" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:91 +#: build/C/man2/sched_rr_get_interval.2:90 msgid "The system call is not yet implemented (only on rather old kernels)." msgstr "" "システム・コールがまだ実装されていない (かなり古いカーネルにおいてのみ)。" -#. type: TP -#: build/C/man2/sched_rr_get_interval.2:91 -#: build/C/man2/sched_setaffinity.2:146 build/C/man2/sched_setparam.2:108 -#: build/C/man2/sched_setscheduler.2:442 -#, no-wrap -msgid "B" -msgstr "B" - #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:95 +#: build/C/man2/sched_rr_get_interval.2:94 msgid "Could not find a process with the ID I." -msgstr "" +msgstr "プロセス ID が I のプロセスが見つからなかった。" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:104 -#, fuzzy -#| msgid "" -#| "POSIX systems on which B() is available define " -#| "B<_POSIX_PRIORITY_SCHEDULING> in Iunistd.hE>." +#: build/C/man2/sched_rr_get_interval.2:103 msgid "" "POSIX systems on which B() is available define " "B<_POSIX_PRIORITY_SCHEDULING> in Iunistd.hE>." msgstr "" -"POSIX システムで B() は Iunistd.hE> に " +"POSIX システムで B() は Iunistd.hE> に\n" "B<_POSIX_PRIORITY_SCHEDULING> が定義されている場合にのみ使用可能である。" #. type: SS -#: build/C/man2/sched_rr_get_interval.2:104 +#: build/C/man2/sched_rr_get_interval.2:103 #, no-wrap -msgid "Linux Notes" +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:126 -#, fuzzy -#| msgid "" -#| "POSIX does not specify any mechanism for controlling the size of the " -#| "round-robin time quantum. However, Linux provides a (nonportable) method " -#| "of doing this. The quantum can be controlled by adjusting the process's " -#| "nice value (see B(2)). Assigning a negative (i.e., high) " -#| "nice value 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." +#: 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 " @@ -2692,40 +3337,61 @@ msgid "" "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 " -"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" -"(2) 参照)。 負の nice 値 (すなわち、高い nice 値) を割り当てると時間量は長く" +"POSIX ではラウンドロビン時間量の大きさを制御する仕組みが規定されていない。 古" +"い Linux カーネルではこれを変更する方法が提供されている (この方法に移植性はな" +"い)。 プロセスの nice 値を調整することで時間量を制御できる (B" +"(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 " +"quantum: the I 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 "" +"Linux 3.9 で、 B の時間量の調整 (と参照) を行う新しい機構が追加され" +"た。 I ファイルでミリ秒単位の時間量の" +"値が参照でき、 デフォルト値は 100 である。 このファイルに 0 を書き込むと、 時" +"間量をデフォルト値に戻すことができる。" #. type: Plain text -#: build/C/man2/sched_rr_get_interval.2:129 -#: build/C/man2/sched_setaffinity.2:178 +#: build/C/man2/sched_rr_get_interval.2:135 +#: build/C/man2/sched_setaffinity.2:177 msgid "" "B(2) has a description of the Linux scheduling scheme." msgstr "" -"B(2) に Linux のスケジューリング方式についての説明があ" -"る。" +"B(2) に Linux のスケジューリング方式についての説明\n" +"がある。" #. type: TH -#: build/C/man2/sched_setaffinity.2:35 +#: build/C/man2/sched_setaffinity.2:34 #, no-wrap msgid "SCHED_SETAFFINITY" msgstr "SCHED_SETAFFINITY" #. type: TH -#: build/C/man2/sched_setaffinity.2:35 +#: build/C/man2/sched_setaffinity.2:34 #, no-wrap -msgid "2010-11-06" -msgstr "2010-11-06" +msgid "2013-02-11" +msgstr "2013-02-11" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:39 +#: build/C/man2/sched_setaffinity.2:38 msgid "" "sched_setaffinity, sched_getaffinity - set and get a process's CPU affinity " "mask" @@ -2734,7 +3400,7 @@ msgstr "" "取得する" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:46 +#: build/C/man2/sched_setaffinity.2:45 #, no-wrap msgid "" "BIB<, size_t >IB<,>\n" @@ -2744,7 +3410,7 @@ msgstr "" "B< cpu_set_t *>IB<);>\n" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:49 +#: build/C/man2/sched_setaffinity.2:48 #, no-wrap msgid "" "BIB<, size_t >IB<,>\n" @@ -2754,7 +3420,7 @@ msgstr "" "B< cpu_set_t *>IB<);>\n" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:64 +#: build/C/man2/sched_setaffinity.2:63 msgid "" "A process's CPU affinity mask determines the set of CPUs on which it is " "eligible to run. On a multiprocessor system, setting the CPU affinity mask " @@ -2778,7 +3444,7 @@ msgstr "" "invalidation) による性能面の劣化を避けることもできる。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:71 +#: build/C/man2/sched_setaffinity.2:70 msgid "" "A CPU affinity mask is represented by the I structure, a \"CPU set" "\", pointed to by I. A set of macros for manipulating CPU sets is " @@ -2789,7 +3455,7 @@ msgstr "" "ロ群については B(3) で記載されている。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:86 +#: build/C/man2/sched_setaffinity.2:85 msgid "" "B() sets the CPU affinity mask of the process whose ID " "is I to the value specified by I. If I is zero, then the " @@ -2803,7 +3469,7 @@ msgstr "" "単位) である。 通常は、この引き数には I を指定すればよい。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:93 +#: build/C/man2/sched_setaffinity.2:92 msgid "" "If the process specified by I is not currently running on one of the " "CPUs specified in I, then that process is migrated to one of the CPUs " @@ -2814,7 +3480,7 @@ msgstr "" "る。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:108 +#: build/C/man2/sched_setaffinity.2:107 msgid "" "B() writes the affinity mask of the process whose ID is " "I into the I structure pointed to by I. The " @@ -2826,7 +3492,7 @@ msgstr "" "I の (バイト単位の) 大きさを指定する。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:117 +#: build/C/man2/sched_setaffinity.2:116 msgid "" "On success, B() and B() return 0. " "On error, -1 is returned, and I is set appropriately." @@ -2835,12 +3501,12 @@ msgstr "" "す。 エラーの場合は -1 を返し、 I を適切に設定する。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:121 +#: build/C/man2/sched_setaffinity.2:120 msgid "A supplied memory address was invalid." msgstr "指定されたメモリ番地が不正である。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:129 +#: build/C/man2/sched_setaffinity.2:128 msgid "" "The affinity bit mask I contains no processors that are currently " "physically on the system and permitted to the process according to any " @@ -2852,7 +3518,7 @@ msgstr "" "まれていない。 \"cpuset\" 機構については B(7) を参照。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:136 +#: build/C/man2/sched_setaffinity.2:135 msgid "" "(B() and, in kernels before 2.6.9, B" "()) I is smaller than the size of the affinity mask used by the " @@ -2862,7 +3528,7 @@ msgstr "" "I がカーネルで使われている affinity マスクのサイズより小さい。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:146 +#: build/C/man2/sched_setaffinity.2:145 msgid "" "(B()) The calling process does not have appropriate " "privileges. The caller needs an effective user ID equal to the real user ID " @@ -2875,13 +3541,13 @@ msgstr "" "なければならない。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:149 build/C/man2/sched_setparam.2:111 -#: build/C/man2/sched_setscheduler.2:445 +#: build/C/man2/sched_setaffinity.2:148 build/C/man2/sched_setparam.2:110 +#: build/C/man2/sched_setscheduler.2:444 msgid "The process whose ID is I could not be found." msgstr "プロセス ID I のプロセスが見つからなかった。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:160 +#: build/C/man2/sched_setaffinity.2:159 msgid "" "The CPU affinity system calls were introduced in Linux kernel 2.5.8. The " "system call wrappers were introduced in glibc 2.3. Initially, the glibc " @@ -2896,12 +3562,12 @@ msgstr "" "復活した。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:162 +#: build/C/man2/sched_setaffinity.2:161 msgid "These system calls are Linux-specific." msgstr "これらのシステムコールは Linux 固有である。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:175 +#: build/C/man2/sched_setaffinity.2:174 msgid "" "After a call to B(), the set of CPUs on which the process " "will actually run is the intersection of the set specified in the I " @@ -2919,7 +3585,7 @@ msgstr "" "CPU 集合に対する制限はカーネルにより 暗黙のうちに適用される。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:195 +#: build/C/man2/sched_setaffinity.2:194 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 " @@ -2939,7 +3605,7 @@ msgstr "" "B(3) を使用すること)。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:201 +#: build/C/man2/sched_setaffinity.2:200 msgid "" "A child created via B(2) inherits its parent's CPU affinity mask. " "The affinity mask is preserved across an B(2)." @@ -2948,11 +3614,11 @@ msgstr "" "承する。 affinity マスクは B(2) の前後で保存される。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:215 +#: build/C/man2/sched_setaffinity.2:214 msgid "" "This manual page describes the glibc interface for the CPU affinity calls. " "The actual system call interface is slightly different, with the I " -"being typed as I, reflecting the fact that the underlying " +"being typed as I, reflecting the fact that the underlying " "implementation of CPU sets is a simple bit mask. On success, the raw " "B() system call returns the size (in bytes) of the " "I data type that is used internally by the kernel to represent " @@ -2961,59 +3627,59 @@ msgstr "" "このマニュアルページでは CPU affinity コールの glibc インタフェースを 説明し" "ている。実際のシステムコール・インタフェースは少し違っており、 実際の実装で" "は CPU 集合は簡単なビットマスクであるという実状を反映し、 I の型が " -"I となっている。 成功時には、生の B() シ" -"ステムコール自身は I データ型の (バイト単位の) 大きさを返す。 " +"I となっている。 成功時には、生の B() " +"システムコール自身は I データ型の (バイト単位の) 大きさを返す。 " "I はカーネル内部で CPU 集合のビットマスクを表現するのに 使われてい" "るデータ型である。" #. type: Plain text -#: build/C/man2/sched_setaffinity.2:231 +#: build/C/man2/sched_setaffinity.2:233 msgid "" -"B(2), B(2), B(2), B(2), B(2), " -"B(2), B(2), " +"B(1), B(2), B(2), B(2), B(2), " +"B(2), B(2), B(2), " "B(2), B(2), B(2), " "B(3), B(3), B(3), " "B(7), B(7)" msgstr "" -"B(2), B(2), B(2), B(2), B(2), " -"B(2), B(2), " +"B(1), B(2), B(2), B(2), B(2), " +"B(2), B(2), B(2), " "B(2), B(2), B(2), " "B(3), B(3), B(3), " "B(7), B(7)" #. type: TH -#: build/C/man2/sched_setparam.2:31 +#: build/C/man2/sched_setparam.2:30 #, no-wrap msgid "SCHED_SETPARAM" msgstr "SCHED_SETPARAM" +#. type: TH +#: build/C/man2/sched_setparam.2:30 build/C/man2/sched_setscheduler.2:46 +#, no-wrap +msgid "2013-02-12" +msgstr "2013-02-12" + #. type: Plain text -#: build/C/man2/sched_setparam.2:34 +#: build/C/man2/sched_setparam.2:33 msgid "sched_setparam, sched_getparam - set and get scheduling parameters" msgstr "" "sched_setparam, sched_getparam - スケジューリング・パラメータの設定と取得を行" "なう" #. type: Plain text -#: build/C/man2/sched_setparam.2:37 build/C/man2/sched_setscheduler.2:54 -#, no-wrap -msgid "B<#include Esched.hE>\n" -msgstr "B<#include Esched.hE>\n" - -#. type: Plain text -#: build/C/man2/sched_setparam.2:39 +#: build/C/man2/sched_setparam.2:38 #, no-wrap msgid "BIB<, const struct sched_param *>IB<);>\n" msgstr "BIB<, const struct sched_param *>IB<);>\n" #. type: Plain text -#: build/C/man2/sched_setparam.2:41 +#: build/C/man2/sched_setparam.2:40 #, no-wrap msgid "BIB<, struct sched_param *>IB<);>\n" msgstr "BIB<, struct sched_param *>IB<);>\n" #. type: Plain text -#: build/C/man2/sched_setparam.2:47 build/C/man2/sched_setscheduler.2:66 +#: build/C/man2/sched_setparam.2:46 build/C/man2/sched_setscheduler.2:65 #, no-wrap msgid "" "B\n" #. type: Plain text -#: build/C/man2/sched_setparam.2:61 +#: build/C/man2/sched_setparam.2:60 msgid "" "B() sets the scheduling parameters associated with the " "scheduling policy for the process identified by I. If I is zero, " @@ -3046,7 +3712,7 @@ msgstr "" "B(2) を参照のこと。" #. type: Plain text -#: build/C/man2/sched_setparam.2:67 +#: build/C/man2/sched_setparam.2:66 msgid "" "B() retrieves the scheduling parameters for the process " "identified by I. If I is zero, then the parameters of the calling " @@ -3057,7 +3723,7 @@ msgstr "" "する。" #. type: Plain text -#: build/C/man2/sched_setparam.2:76 +#: build/C/man2/sched_setparam.2:75 msgid "" "B() checks the validity of I for the scheduling " "policy of the process. The value Isched_priority> must lie " @@ -3070,7 +3736,7 @@ msgstr "" "いなければならない。" #. type: Plain text -#: build/C/man2/sched_setparam.2:80 +#: build/C/man2/sched_setparam.2:79 msgid "" "For a discussion of the privileges and resource limits related to scheduling " "priority and policy, see B(2)." @@ -3079,7 +3745,7 @@ msgstr "" "B(2) を参照のこと。" #. type: Plain text -#: build/C/man2/sched_setparam.2:88 +#: build/C/man2/sched_setparam.2:87 msgid "" "POSIX systems on which B() and B() are " "available define B<_POSIX_PRIORITY_SCHEDULING> in Iunistd.hE>." @@ -3089,7 +3755,7 @@ msgstr "" "る。" #. type: Plain text -#: build/C/man2/sched_setparam.2:97 +#: build/C/man2/sched_setparam.2:96 msgid "" "On success, B() and B() return 0. On " "error, -1 is returned, and I is set appropriately." @@ -3098,13 +3764,13 @@ msgstr "" "ラーの場合は -1 が返され、 I が適切に設定される。" #. type: Plain text -#: build/C/man2/sched_setparam.2:102 +#: build/C/man2/sched_setparam.2:101 msgid "" "The argument I does not make sense for the current scheduling policy." msgstr "引き数 I が現在のスケジューリング方針においては 無意味である。" #. type: Plain text -#: build/C/man2/sched_setparam.2:108 +#: build/C/man2/sched_setparam.2:107 msgid "" "The calling process does not have appropriate privileges (Linux: does not " "have the B capability)." @@ -3113,7 +3779,16 @@ msgstr "" "ケーパビリティを持っていない)。" #. type: Plain text -#: build/C/man2/sched_setparam.2:124 +#: build/C/man2/sched_setparam.2:118 +msgid "" +"Scheduling parameters are in fact per-thread attributes on Linux; see " +"B(2)." +msgstr "" +"Linux では、スケジューリングパラメータは実際にはスレッド単位の属性である。 " +"B(2) 参照。" + +#. type: Plain text +#: build/C/man2/sched_setparam.2:131 msgid "" "B(2), B(2), B(2), " "B(2), B(2), B" @@ -3126,20 +3801,13 @@ msgstr "" "B(7)" #. type: TH -#: build/C/man2/sched_setscheduler.2:47 +#: build/C/man2/sched_setscheduler.2:46 #, no-wrap msgid "SCHED_SETSCHEDULER" msgstr "SCHED_SETSCHEDULER" -#. type: TH -#: build/C/man2/sched_setscheduler.2:47 -#, fuzzy, no-wrap -#| msgid "2010-09-10" -msgid "2011-09-19" -msgstr "2010-09-10" - #. type: Plain text -#: build/C/man2/sched_setscheduler.2:51 +#: build/C/man2/sched_setscheduler.2:50 msgid "" "sched_setscheduler, sched_getscheduler - set and get scheduling policy/" "parameters" @@ -3148,25 +3816,25 @@ msgstr "" "タを設定/取得する" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:56 +#: build/C/man2/sched_setscheduler.2:55 #, no-wrap msgid "BIB<, int >IB<,>\n" msgstr "BIB<, int >IB<,>\n" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:58 +#: build/C/man2/sched_setscheduler.2:57 #, no-wrap msgid "B< const struct sched_param *>IB<);>\n" msgstr "B< const struct sched_param *>IB<);>\n" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:60 +#: build/C/man2/sched_setscheduler.2:59 #, no-wrap msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:77 +#: build/C/man2/sched_setscheduler.2:76 msgid "" "B() sets both the scheduling policy and the associated " "parameters for the process whose ID is specified in I. If I " @@ -3183,7 +3851,7 @@ msgstr "" "ている。" #. type: TP -#: build/C/man2/sched_setscheduler.2:77 +#: build/C/man2/sched_setscheduler.2:76 #, no-wrap msgid "B" msgstr "B" @@ -3191,34 +3859,34 @@ msgstr "B" #. In the 2.6 kernel sources, SCHED_OTHER is actually called #. SCHED_NORMAL. #. type: Plain text -#: build/C/man2/sched_setscheduler.2:82 +#: build/C/man2/sched_setscheduler.2:81 msgid "the standard round-robin time-sharing policy;" msgstr "標準の、ラウンドロビンによる時分割型のスケジューリング・ポリシー。" #. type: TP -#: build/C/man2/sched_setscheduler.2:82 +#: build/C/man2/sched_setscheduler.2:81 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:85 +#: build/C/man2/sched_setscheduler.2:84 msgid "for \"batch\" style execution of processes; and" msgstr "「バッチ」形式でのプロセスの実行用。" #. type: TP -#: build/C/man2/sched_setscheduler.2:85 +#: build/C/man2/sched_setscheduler.2:84 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:90 +#: build/C/man2/sched_setscheduler.2:89 msgid "for running I low priority background jobs." msgstr "「非常に」低い優先度で動作するバックグラウンド・ジョブ用。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:94 +#: build/C/man2/sched_setscheduler.2:93 msgid "" "The following \"real-time\" policies are also supported, for special time-" "critical applications that need precise control over the way in which " @@ -3229,34 +3897,34 @@ msgstr "" "ポートされている。" #. type: TP -#: build/C/man2/sched_setscheduler.2:94 +#: build/C/man2/sched_setscheduler.2:93 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:97 +#: build/C/man2/sched_setscheduler.2:96 msgid "a first-in, first-out policy; and" msgstr "ファーストイン、ファーストアウト型のポリシー。" #. type: TP -#: build/C/man2/sched_setscheduler.2:97 +#: build/C/man2/sched_setscheduler.2:96 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:100 +#: build/C/man2/sched_setscheduler.2:99 msgid "a round-robin policy." msgstr "ラウンドロビン型のポリシー。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:102 +#: build/C/man2/sched_setscheduler.2:101 msgid "The semantics of each of these policies are detailed below." msgstr "これらのポリシーのそれぞれの動作については以下で説明する。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:109 +#: build/C/man2/sched_setscheduler.2:108 msgid "" "B() queries the scheduling policy currently applied to " "the process identified by I. If I equals zero, the policy of the " @@ -3267,13 +3935,13 @@ msgstr "" "身のスケジューリング・ポリシーが返される。" #. type: SS -#: build/C/man2/sched_setscheduler.2:109 +#: build/C/man2/sched_setscheduler.2:108 #, no-wrap -msgid "Scheduling Policies" +msgid "Scheduling policies" msgstr "スケジューリング・ポリシー (scheduling policy)" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:118 +#: build/C/man2/sched_setscheduler.2:117 msgid "" "The scheduler is the kernel component that decides which runnable process " "will be executed by the CPU next. Each process has an associated scheduling " @@ -3290,7 +3958,7 @@ msgstr "" "て決定を行う。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:123 +#: build/C/man2/sched_setscheduler.2:122 msgid "" "For processes scheduled under one of the normal scheduling policies " "(B, B, B), I is not " @@ -3302,16 +3970,17 @@ msgstr "" "には 0 を指定しなければならない)。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:137 +#: build/C/man2/sched_setscheduler.2:136 msgid "" "Processes scheduled under one of the real-time policies (B, " "B) have a I 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(2) and B(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(2) and " +"B(2) to find the range of priorities supported for " +"a particular policy." msgstr "" "リアルタイム・スケジューリング・ポリシー (B, B) の下で" "スケジューリングされるプロセスは、 I の値は 1 (最低) から 99 " @@ -3324,7 +3993,7 @@ msgstr "" "て、あるポリシーがサポートする優先度の範囲を調べるべきである。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:143 +#: build/C/man2/sched_setscheduler.2:142 msgid "" "Conceptually, the scheduler maintains a list of runnable processes for each " "possible I value. In order to determine which process runs " @@ -3337,7 +4006,7 @@ msgstr "" "トの先頭のプロセスを選択する。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:147 +#: build/C/man2/sched_setscheduler.2:146 msgid "" "A process's scheduling policy determines where it will be inserted into the " "list of processes with equal static priority and how it will move inside " @@ -3348,12 +4017,12 @@ msgstr "" "決定する。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:155 +#: build/C/man2/sched_setscheduler.2:154 msgid "" "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) である: より高い優先度" @@ -3363,15 +4032,15 @@ msgstr "" "順番のみを決定する。" #. type: SS -#: build/C/man2/sched_setscheduler.2:155 +#: build/C/man2/sched_setscheduler.2:154 #, no-wrap -msgid "SCHED_FIFO: First In-First Out scheduling" +msgid "SCHED_FIFO: First in-first out scheduling" msgstr "SCHED_FIFO: ファーストイン・ファーストアウト・スケジューリング" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:164 +#: build/C/man2/sched_setscheduler.2:163 msgid "" -"B can only be used with static priorities higher than 0, which " +"B can be used only with static priorities higher than 0, which " "means that when a B processes becomes runnable, it will always " "immediately preempt any currently running B, B, or " "B process. B is a simple scheduling algorithm " @@ -3386,17 +4055,17 @@ msgstr "" "ロセスには以下の ルールが適用される:" #. type: IP -#: build/C/man2/sched_setscheduler.2:164 build/C/man2/sched_setscheduler.2:169 -#: build/C/man2/sched_setscheduler.2:172 build/C/man2/sched_setscheduler.2:186 -#: build/C/man2/sched_setscheduler.2:288 build/C/man2/sched_setscheduler.2:296 -#: build/C/man2/sched_setscheduler.2:337 build/C/man2/sched_setscheduler.2:345 -#: build/C/man2/sched_setscheduler.2:350 build/C/man2/sched_setscheduler.2:355 +#: build/C/man2/sched_setscheduler.2:163 build/C/man2/sched_setscheduler.2:168 +#: build/C/man2/sched_setscheduler.2:171 build/C/man2/sched_setscheduler.2:185 +#: build/C/man2/sched_setscheduler.2:287 build/C/man2/sched_setscheduler.2:295 +#: build/C/man2/sched_setscheduler.2:336 build/C/man2/sched_setscheduler.2:344 +#: build/C/man2/sched_setscheduler.2:349 build/C/man2/sched_setscheduler.2:354 #, no-wrap msgid "*" msgstr "*" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:169 +#: build/C/man2/sched_setscheduler.2:168 msgid "" "A B process that has been preempted by another process of higher " "priority will stay at the head of the list for its priority and will resume " @@ -3407,7 +4076,7 @@ msgstr "" "(block) した場合に実行を再開する。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:172 +#: build/C/man2/sched_setscheduler.2:171 msgid "" "When a B process becomes runnable, it will be inserted at the " "end of the list for its priority." @@ -3418,7 +4087,7 @@ msgstr "" #. In 2.2.x and 2.4.x, the process is placed at the front of the queue #. In 2.0.x, the Right Thing happened: the process went to the back -- MTK #. type: Plain text -#: build/C/man2/sched_setscheduler.2:186 +#: build/C/man2/sched_setscheduler.2:185 msgid "" "A call to B() or B(2) will put the " "B (or B) process identified by I at the start of " @@ -3433,13 +4102,13 @@ msgstr "" "ている。)" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:190 +#: build/C/man2/sched_setscheduler.2:189 msgid "" "A process calling B(2) will be put at the end of the list." msgstr "B(2) を呼び出したプロセスはリストの最後に置かれる。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:194 +#: build/C/man2/sched_setscheduler.2:193 msgid "" "No other events will move a process scheduled under the B policy " "in the wait list of runnable processes with equal static priority." @@ -3448,7 +4117,7 @@ msgstr "" "セスが同じ優先度の実行可能な プロセスの待ちリストの中を移動することはない。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:199 +#: build/C/man2/sched_setscheduler.2:198 msgid "" "A B process runs until either it is blocked by an I/O request, " "it is preempted by a higher priority process, or it calls B(2)." @@ -3457,45 +4126,45 @@ msgstr "" "スによって置きかえられるか、 B(2) を呼び出すまで実行を続ける。" #. type: SS -#: build/C/man2/sched_setscheduler.2:199 +#: build/C/man2/sched_setscheduler.2:198 #, no-wrap -msgid "SCHED_RR: Round Robin scheduling" -msgstr "SCHED_RR: ラウンド・ロビン (round robin) ・スケジューリング" +msgid "SCHED_RR: Round-robin scheduling" +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:218 +#: build/C/man2/sched_setscheduler.2:217 msgid "" "B is a simple enhancement of B. Everything described " "above for B also applies to B, except that each " -"process is only allowed to run for a maximum time quantum. If a B " +"process is allowed to run only for a maximum time quantum. If a B " "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 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 " +"unexpired portion of its round-robin time quantum. The length of the time " "quantum can be retrieved using B(2)." msgstr "" -"B は B の単純な拡張である。 上述された B に" -"関する記述は全て B に 適用できる。異なるのはそれぞれのプロセスは最" -"大時間単位までしか実行できない ということである。B プロセスが時間単" -"位と同じかそれより 長い時間実行されると、その優先度のリストの最後に置かれ" -"る。 より高い優先度のプロセスによって置きかえられ、その後実行を再開した " -"B プロセスは、そのラウンド・ロビン時間単位を完全に使い切る まで実行" -"される。その時間単位の長さは B(2) を使って取得でき" -"る。" +"B は B の単純な拡張である。 上述された\n" +"B に関する記述は全て B に 適用できる。異なるのは\n" +"それぞれのプロセスは最大時間単位までしか実行できない ということである。\n" +"B プロセスが時間単位と同じかそれより 長い時間実行されると、\n" +"その優先度のリストの最後に置かれる。 より高い優先度のプロセスによって\n" +"置きかえられ、その後実行を再開した B プロセスは、そのラウンド\n" +"ロビン時間単位を完全に使い切る まで実行される。その時間単位の長さは\n" +"B(2) を使って取得できる。" #. type: SS -#: build/C/man2/sched_setscheduler.2:218 +#: build/C/man2/sched_setscheduler.2:217 #, no-wrap msgid "SCHED_OTHER: Default Linux time-sharing scheduling" msgstr "SCHED_OTHER: Linux のデフォルトの時分割スケジューリング" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:234 +#: build/C/man2/sched_setscheduler.2:233 msgid "" -"B can only be used at static priority 0. B is the " +"B can be used at only static priority 0. B 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 priority that " @@ -3514,15 +4183,15 @@ msgstr "" "B プロセスでの公平性が保証される。" #. type: SS -#: build/C/man2/sched_setscheduler.2:234 +#: build/C/man2/sched_setscheduler.2:233 #, no-wrap msgid "SCHED_BATCH: Scheduling batch processes" msgstr "SCHED_BATCH: バッチプロセスのスケジューリング" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:246 +#: build/C/man2/sched_setscheduler.2:245 msgid "" -"(Since Linux 2.6.16.) B can only be used at static priority " +"(Since Linux 2.6.16.) B can be used only at static priority " "0. This policy is similar to B 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 " @@ -3542,7 +4211,7 @@ msgstr "" #. accompanied Ingo Molnar's patch for the implementation of #. SCHED_BATCH. #. type: Plain text -#: build/C/man2/sched_setscheduler.2:255 +#: build/C/man2/sched_setscheduler.2:254 msgid "" "This policy is useful for workloads that are noninteractive, but do not want " "to lower their nice value, and for workloads that want a deterministic " @@ -3555,22 +4224,22 @@ msgstr "" "る。" #. type: SS -#: build/C/man2/sched_setscheduler.2:255 +#: build/C/man2/sched_setscheduler.2:254 #, no-wrap msgid "SCHED_IDLE: Scheduling very low priority jobs" msgstr "SCHED_IDLE: 非常に優先度の低いジョブのスケジューリング" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:259 +#: build/C/man2/sched_setscheduler.2:258 msgid "" -"(Since Linux 2.6.23.) B can only be used at static priority 0; " +"(Since Linux 2.6.23.) B can be used only at static priority 0; " "the process nice value has no influence for this policy." msgstr "" "(Linux 2.6.23 以降) B は静的優先度 0 でのみ使用できる。 このポリ" "シーではプロセスの nice 値はスケジューリングに影響を与えない。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:267 +#: build/C/man2/sched_setscheduler.2:266 msgid "" "This policy is intended for running jobs at extremely low priority (lower " "even than a +19 nice value with the B or B " @@ -3581,13 +4250,13 @@ msgstr "" "優先度である)。" #. type: SS -#: build/C/man2/sched_setscheduler.2:267 +#: build/C/man2/sched_setscheduler.2:266 #, no-wrap msgid "Resetting scheduling policy for child processes" -msgstr "" +msgstr "子プロセスでのスケジューリング・ポリシーのリセット" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:283 +#: build/C/man2/sched_setscheduler.2:282 msgid "" "Since Linux 2.6.32, the B flag can be ORed in I " "when calling B(). As a result of including this flag, " @@ -3596,56 +4265,74 @@ msgid "" "be used to prevent applications evading the B resource limit " "(see B(2)) by creating multiple child processes." msgstr "" +"Linux 2.6.32 以降では、 B() を呼び出す際に I に " +"B フラグを OR で指定できる。このフラグが指定されると、 " +"B(2) で作成された子プロセスは特権が必要なスケジューリング・ポリシーを継" +"承しない。この機能はメディア再生を行うアプリケーションを想定して作られ、この" +"機能を使うことで、アプリケーションが複数の子プロセスを作成することで " +"B リソース上限 (B(2) 参照) を回避するのを防ぐことが" +"できる。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:288 +#: build/C/man2/sched_setscheduler.2:287 msgid "" "More precisely, if the B flag is specified, the " "following rules apply for subsequently created children:" msgstr "" +"より正確には、 B フラグが指定された場合、それ以降に作成" +"される子プロセスに以下のルールが適用される。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:296 +#: build/C/man2/sched_setscheduler.2:295 msgid "" "If the calling process has a scheduling policy of B or " "B, the policy is reset to B in child processes." msgstr "" +"呼び出したプロセスのスケジューリング・ポリシーが B か " +"B の場合、子プロセスのポリシーは B にリセットされる。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:299 +#: build/C/man2/sched_setscheduler.2:298 msgid "" "If the calling process has a negative nice value, the nice value is reset to " "zero in child processes." msgstr "" +"子プロセスが負の nice 値を持っている場合、子プロセスの nice 値は 0 にリセット" +"される。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:308 +#: build/C/man2/sched_setscheduler.2:307 msgid "" -"After the B flag has been enabled, it can only be reset " +"After the B flag has been enabled, it can be reset only " "if the process has the B capability. This flag is disabled in " "child processes created by B(2)." msgstr "" +"一度 B フラグが有効にされた後は、このフラグをリセットで" +"きるのは、プロセスが B ケーパビリティを持つ場合だけである。この" +"フラグは B(2) で作成された子プロセスでは無効になる。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:314 +#: build/C/man2/sched_setscheduler.2:313 msgid "" "The B flag is visible in the policy value returned by " "B()" msgstr "" +"B フラグは、 B() が返すポリシー値で" +"参照できる。" #. type: SS -#: build/C/man2/sched_setscheduler.2:314 +#: build/C/man2/sched_setscheduler.2:313 #, no-wrap msgid "Privileges and resource limits" msgstr "特権とリソース制限" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:327 +#: build/C/man2/sched_setscheduler.2:326 msgid "" "In Linux kernels before 2.6.12, only privileged (B) 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 policy, and this can only be done if the effective user " +"the B policy, and this can be done only if the effective user " "ID of the caller of B() matches the real or effective " "user ID of the target process (i.e., the process specified by I) whose " "policy is being changed." @@ -3659,7 +4346,7 @@ msgstr "" "ユーザ ID か実効ユーザ ID と 一致する場合だけである。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:337 +#: build/C/man2/sched_setscheduler.2:336 msgid "" "Since Linux 2.6.12, the B resource limit defines a ceiling on " "an unprivileged process's static priority for the B and " @@ -3672,7 +4359,7 @@ msgstr "" "る際のルールは以下の通りである。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:345 +#: build/C/man2/sched_setscheduler.2:344 msgid "" "If an unprivileged process has a nonzero B soft limit, then " "it can change its scheduling policy and priority, subject to the restriction " @@ -3685,7 +4372,7 @@ msgstr "" "きい方よりも高い値に設定できないという制限が課される。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:350 +#: build/C/man2/sched_setscheduler.2:349 msgid "" "If the B soft limit is 0, then the only permitted changes are " "to lower the priority, or to switch to a non-real-time policy." @@ -3694,7 +4381,7 @@ msgstr "" "でないポリシーへ切り替えるかの変更だけが許可される。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:355 +#: build/C/man2/sched_setscheduler.2:354 msgid "" "Subject to the same rules, another unprivileged process can also make these " "changes, as long as the effective user ID of the process making the change " @@ -3707,7 +4394,7 @@ msgstr "" #. commit c02aa73b1d18e43cfd79c2f193b225e84ca497c8 #. type: Plain text -#: build/C/man2/sched_setscheduler.2:373 +#: build/C/man2/sched_setscheduler.2:372 msgid "" "Special rules apply for the B. In Linux kernels before 2.6.39, " "an unprivileged process operating under this policy cannot change its " @@ -3717,9 +4404,16 @@ msgid "" "within the range permitted by its B resource limit (see " "B(2))." msgstr "" +"B の場合には特別なルールが適用される。 2.6.39 より前の Linux カー" +"ネルでは、このポリシーで動作する非特権プロセスは、 B リソース" +"上限の値に関わらず、自分のポリシーを変更することができない。 2.6.39 以降の " +"Linux カーネルでは、非特権プロセスは、自分の nice 値が B リソー" +"ス上限 (B(2) 参照) で許可された範囲である限りは、自分のスケジュー" +"リング・ポリシーを B か B ポリシーに切り替えること" +"ができる。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:384 +#: build/C/man2/sched_setscheduler.2:383 msgid "" "Privileged (B) processes ignore the B limit; " "as with older kernels, they can make arbitrary changes to scheduling policy " @@ -3732,7 +4426,7 @@ msgstr "" "関するもっと詳しい情報は B(2) を参照のこと。" #. type: SS -#: build/C/man2/sched_setscheduler.2:384 +#: build/C/man2/sched_setscheduler.2:383 #, no-wrap msgid "Response time" msgstr "応答時間 (response time)" @@ -3740,7 +4434,7 @@ msgstr "応答時間 (response time)" #. as described in #. .BR request_irq (9). #. type: Plain text -#: build/C/man2/sched_setscheduler.2:392 +#: build/C/man2/sched_setscheduler.2:391 msgid "" "A blocked high priority process waiting for the I/O has a certain response " "time before it is scheduled again. The device driver writer can greatly " @@ -3752,13 +4446,13 @@ msgstr "" "きる。" #. type: SS -#: build/C/man2/sched_setscheduler.2:392 +#: build/C/man2/sched_setscheduler.2:391 #, no-wrap msgid "Miscellaneous" msgstr "その他" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:397 +#: build/C/man2/sched_setscheduler.2:396 msgid "" "Child processes inherit the scheduling policy and parameters across a B" "(2). The scheduling policy and parameters are preserved across B(2)." @@ -3768,7 +4462,7 @@ msgstr "" "メータは保持される。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:403 +#: build/C/man2/sched_setscheduler.2:402 msgid "" "Memory locking is usually needed for real-time processes to avoid paging " "delays; this can be done with B(2) or B(2)." @@ -3777,7 +4471,7 @@ msgstr "" "(2) や B(2) を使ってメモリ・ロックをしなければならない。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:415 +#: build/C/man2/sched_setscheduler.2:414 msgid "" "Since a nonblocking infinite loop in a process scheduled under B " "or B will block all processes with lower priority forever, a " @@ -3796,7 +4490,7 @@ msgstr "" "と。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:423 +#: build/C/man2/sched_setscheduler.2:422 msgid "" "POSIX systems on which B() and B() " "are available define B<_POSIX_PRIORITY_SCHEDULING> in Iunistd.hE>." @@ -3806,7 +4500,7 @@ msgstr "" "() が使用できる。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:433 +#: build/C/man2/sched_setscheduler.2:432 msgid "" "On success, B() returns zero. On success, " "B() returns the policy for the process (a nonnegative " @@ -3817,25 +4511,22 @@ msgstr "" "す。 エラーの場合、-1 が返され、 I が適切に設定される。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:439 -#, fuzzy -#| msgid "" -#| "The scheduling I is not one of the recognized policies, or " -#| "I does not make sense for the I." +#: build/C/man2/sched_setscheduler.2:438 msgid "" "The scheduling I is not one of the recognized policies, I is " "NULL, or I does not make sense for the I." msgstr "" -"スケジューリング・ポリシー I が間違っているか、 I がそのポリ" -"シーでは意味をなさない。" +"スケジューリング・ポリシー I が間違っている。\n" +"または I が NULL である。\n" +"または I がそのポリシーでは意味をなさない。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:442 +#: build/C/man2/sched_setscheduler.2:441 msgid "The calling process does not have appropriate privileges." msgstr "呼び出したプロセスが適切な特権を持っていない。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:448 +#: build/C/man2/sched_setscheduler.2:447 msgid "" "POSIX.1-2001 (but see BUGS below). The B and B " "policies are Linux-specific." @@ -3844,7 +4535,7 @@ msgstr "" "ポリシーは Linux 固有である。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:456 +#: build/C/man2/sched_setscheduler.2:455 msgid "" "POSIX.1 does not detail the permissions that an unprivileged process " "requires in order to call B(), and details vary across " @@ -3859,7 +4550,28 @@ msgstr "" "ければならない、となっている。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:466 +#: build/C/man2/sched_setscheduler.2:476 +msgid "" +"The scheduling policy and parameters are in fact per-thread attributes on " +"Linux. The value returned from a call to B(2) can be passed in the " +"argument I. Specifying I as 0 will operate on the attribute for " +"the calling thread, and passing the value returned from a call to B" +"(2) will operate on the attribute for the main thread of the thread group. " +"(If you are using the POSIX threads API, then use B" +"(3), B(3), and B(3), instead of " +"the B(2) system calls.)" +msgstr "" +"Linux では、 スケジューリングポリシーとスケジューリングパラメータは、 実際に" +"はスレッド単位の属性である。 B(2) の呼び出しの返り値をこのシステム" +"コールの I 引き数として渡すことができる。 I に 0 を指定すると、 呼" +"び出し元のスレッドの属性が設定される。 B(2) コールからの返り値を " +"I に指定すると、 スレッドグループのメインスレッドの属性が設定される " +"(POSIX スレッド API を使用している場合は、 B(2) システムコールの代わ" +"りに B(3), B(3), and " +"B(3) を使用すること)。" + +#. type: Plain text +#: build/C/man2/sched_setscheduler.2:486 msgid "" "Originally, Standard Linux was intended as a general-purpose operating " "system being able to handle background processes, interactive applications, " @@ -3881,7 +4593,7 @@ msgstr "" "コンピューティングは実現できなかった。" #. type: SS -#: build/C/man2/sched_setscheduler.2:466 +#: build/C/man2/sched_setscheduler.2:486 #, no-wrap msgid "Real-time features in the mainline Linux kernel" msgstr "本流の Linux カーネルでのリアルタイム機能" @@ -3889,16 +4601,7 @@ msgstr "本流の Linux カーネルでのリアルタイム機能" #. FIXME . Probably this text will need some minor tweaking #. by about the time of 2.6.30; ask Carsten Emde about this then. #. type: Plain text -#: build/C/man2/sched_setscheduler.2:480 -#, fuzzy -#| msgid "" -#| "From kernel version 2.6.18 onwards, however, Linux is gradually becoming " -#| "equipped with real-time capabilities, most of which are derived from the " -#| "former I patches developed by Ingo Molnar, Thomas " -#| "Gleixner, Steven Rostedt, and others. Until the patches have been " -#| "completely merged into the mainline kernel (this is expected to be around " -#| "kernel version 2.6.30), they must be installed to achieve the best real-" -#| "time performance. These patches are named:" +#: build/C/man2/sched_setscheduler.2:500 msgid "" "From kernel version 2.6.18 onward, however, Linux is gradually becoming " "equipped with real-time capabilities, most of which are derived from the " @@ -3908,30 +4611,31 @@ msgid "" "kernel version 2.6.30), they must be installed to achieve the best real-time " "performance. These patches are named:" msgstr "" -"カーネル 2.6.18 から現在まで、 Linux は徐々にリアルタイム機能を備えつつある" -"が、 これらの機能のほとんどは、 Ingo Molnar, Thomas Gleixner, Steven Rostedt " -"らによって開発された、 以前の I パッチからのものである。 こ" -"れらのパッチが本流のカーネルに完全にマージされるまでは (マージの完了はカーネ" -"ル 2.6.30 あたりの予定)、 最高のリアルタイム性能を達成するには realtime-" -"preempt パッチを 組み込まなければならない。 これらのパッチは" +"カーネル 2.6.18 から現在まで、 Linux は徐々にリアルタイム機能を備えつつ\n" +"あるが、 これらの機能のほとんどは、 Ingo Molnar, Thomas Gleixner,\n" +"Steven Rostedt らによって開発された、 以前の I パッチ\n" +"からのものである。 これらのパッチが本流のカーネルに完全にマージされるま\n" +"では (マージの完了はカーネル 2.6.30 あたりの予定)、 最高のリアルタイム\n" +"性能を達成するには realtime-preempt パッチを 組み込まなければならない。\n" +"これらのパッチは" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:484 +#: build/C/man2/sched_setscheduler.2:504 #, no-wrap msgid "patch-I-rtI\n" msgstr "patch-I-rtI\n" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:489 +#: build/C/man2/sched_setscheduler.2:510 msgid "" -"and can be downloaded from I." +"and can be downloaded from E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/" +"kernel\\:/projects\\:/rt/> E<.UE .>" msgstr "" -"という名前で、 I からダ" -"ウンロードできる。" +"という名前で、 E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/kernel\\:/" +"projects\\:/rt/> E<.UE> からダウンロードできる。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:498 +#: build/C/man2/sched_setscheduler.2:519 msgid "" "Without the patches and prior to their full inclusion into the mainline " "kernel, the kernel configuration offers only the three preemption classes " @@ -3946,7 +4650,7 @@ msgstr "" "合のスケジューリング遅延がそれぞれ 全く減らない、いくらか減る、かなり減る。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:509 +#: build/C/man2/sched_setscheduler.2:530 msgid "" "With the patches applied or after their full inclusion into the mainline " "kernel, the additional configuration item B becomes " @@ -3964,7 +4668,7 @@ msgstr "" "る。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:517 +#: build/C/man2/sched_setscheduler.2:538 msgid "" "POSIX says that on success, B() should return the " "previous scheduling policy. Linux B() does not conform " @@ -3975,53 +4679,51 @@ msgstr "" "に準拠しておらず、 成功時には常に 0 を返す。" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:535 +#: build/C/man2/sched_setscheduler.2:559 msgid "" -"B(2), B(2), B(2), B(2), B" -"(2), B(2), B(2), B(2), " -"B(2), B(2), B(2), " -"B(2), B(2), B(2), " -"B(2), B(7), B(7)" +"B(1), B(2), B(2), B(2), B(2), " +"B(2), B(2), B(2), " +"B(2), B(2), B(2), " +"B(2), B(2), B(2), " +"B(2), B(2), B(7), B(7)" msgstr "" -"B(2), B(2), B(2), B(2), B" -"(2), B(2), B(2), B(2), " -"B(2), B(2), B(2), " -"B(2), B(2), B(2), " -"B(2), B(7), B(7)" +"B(1), B(2), B(2), B(2), B(2), " +"B(2), B(2), B(2), " +"B(2), B(2), B(2), " +"B(2), B(2), B(2), " +"B(2), B(2), B(7), B(7)" #. type: Plain text -#: build/C/man2/sched_setscheduler.2:542 +#: build/C/man2/sched_setscheduler.2:566 msgid "" -"The kernel source file I (since " -"kernel 2.6.25)." +"The Linux kernel source file I" msgstr "" -"カーネル・ソース内のファイル I " -"(カーネル 2.6.25 以降)" +"Linux カーネルソースファイル I" #. type: TH -#: build/C/man2/sched_yield.2:30 +#: build/C/man2/sched_yield.2:29 #, no-wrap msgid "SCHED_YIELD" msgstr "SCHED_YIELD" #. type: TH -#: build/C/man2/sched_yield.2:30 +#: build/C/man2/sched_yield.2:29 #, no-wrap msgid "2008-10-18" msgstr "2008-10-18" #. type: Plain text -#: build/C/man2/sched_yield.2:33 +#: build/C/man2/sched_yield.2:32 msgid "sched_yield - yield the processor" msgstr "sched_yield - プロセッサーを空け渡す(yield)" #. type: Plain text -#: build/C/man2/sched_yield.2:37 +#: build/C/man2/sched_yield.2:36 msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/sched_yield.2:42 +#: build/C/man2/sched_yield.2:41 msgid "" "B() causes the calling thread to relinquish the CPU. The " "thread is moved to the end of the queue for its static priority and a new " @@ -4032,7 +4734,7 @@ msgstr "" "に 移動し、新しいスレッドが走り始める。" #. type: Plain text -#: build/C/man2/sched_yield.2:49 +#: build/C/man2/sched_yield.2:48 msgid "" "On success, B() returns 0. On error, -1 is returned, and " "I is set appropriately." @@ -4041,12 +4743,12 @@ msgstr "" "I が適切に設定される。" #. type: Plain text -#: build/C/man2/sched_yield.2:53 +#: build/C/man2/sched_yield.2:52 msgid "In the Linux implementation, B() always succeeds." msgstr "Linux の実装では、 B() は常に成功する。" #. type: Plain text -#: build/C/man2/sched_yield.2:60 +#: build/C/man2/sched_yield.2:59 msgid "" "If the calling thread is the only thread in the highest priority list at " "that time, it will continue to run after a call to B()." @@ -4084,43 +4786,45 @@ msgstr "" #. type: Plain text #: build/C/man2/sched_yield.2:82 -msgid "B(2) for a description of Linux scheduling." +msgid "B(2) for a description of Linux scheduling" msgstr "" -"Linux のスケージュリング(scheduling)については B(2) を参" -"照せよ。" +"Linux のスケージュリング (scheduling) については B(2) を" +"参照。" #. type: TH -#: build/C/man2/setns.2:4 +#: build/C/man2/setns.2:8 #, no-wrap msgid "SETNS" msgstr "SETNS" #. type: TH -#: build/C/man2/setns.2:4 +#: build/C/man2/setns.2:8 #, no-wrap -msgid "2011-10-04" -msgstr "2011-10-04" +msgid "2013-01-01" +msgstr "2013-01-01" #. type: Plain text -#: build/C/man2/setns.2:7 +#: build/C/man2/setns.2:11 msgid "setns - reassociate thread with a namespace" -msgstr "" +msgstr "setns - スレッドに名前空間を関連付けしなおす" #. type: Plain text -#: build/C/man2/setns.2:13 +#: build/C/man2/setns.2:17 #, no-wrap msgid "BIB<, int >IB<);>\n" msgstr "BIB<, int >IB<);>\n" #. type: Plain text -#: build/C/man2/setns.2:17 +#: build/C/man2/setns.2:21 msgid "" "Given a file descriptor referring to a namespace, reassociate the calling " "thread with that namespace." msgstr "" +"名前空間を参照するファイルディスクリプタを指定すると、\n" +"呼び出したスレッドにその名前空間を関連付けしなおす。" #. type: Plain text -#: build/C/man2/setns.2:30 +#: build/C/man2/setns.2:34 msgid "" "The I argument is a file descriptor referring to one of the namespace " "entries in a I directory; see B(5) for further " @@ -4128,61 +4832,69 @@ msgid "" "with the corresponding namespace, subject to any constraints imposed by the " "I argument." msgstr "" +"I 引き数は、 I ディレクトリ内の名前空間エントリ\n" +"のいずれかを参照するファイルディスクリプタである。\n" +"I の詳細は B(5) を参照。\n" +"I 引き数で指定された制限の範囲内で、\n" +"呼び出したスレッドに I に対応する名前空間を関連付けしなおす。" #. type: Plain text -#: build/C/man2/setns.2:36 +#: build/C/man2/setns.2:40 msgid "" "The I argument specifies which type of namespace the calling thread " "may be reassociated with. This argument can have one of the following " "values:" msgstr "" +"I 引き数は、呼び出したスレッドがどのタイプの名前空間を\n" +"関連付けしなおすことができるかを指定する。\n" +"この引き数には以下のいずれかの値を指定できる。" #. type: TP -#: build/C/man2/setns.2:36 +#: build/C/man2/setns.2:40 #, no-wrap msgid "B<0>" msgstr "B<0>" #. type: Plain text -#: build/C/man2/setns.2:39 +#: build/C/man2/setns.2:43 msgid "Allow any type of namespace to be joined." -msgstr "" +msgstr "どのタイプの名前空間も関連付けることができる。" #. type: TP -#: build/C/man2/setns.2:39 +#: build/C/man2/setns.2:43 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/setns.2:43 +#: build/C/man2/setns.2:47 msgid "I must refer to an IPC namespace." -msgstr "" +msgstr "I は IPC 名前空間を参照していなければならない。" #. type: TP -#: build/C/man2/setns.2:43 +#: build/C/man2/setns.2:47 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/setns.2:47 +#: build/C/man2/setns.2:51 msgid "I must refer to a network namespace." -msgstr "" +msgstr "I はネットワーク名前空間を参照していなければならない。" #. type: TP -#: build/C/man2/setns.2:47 +#: build/C/man2/setns.2:51 #, no-wrap msgid "B" msgstr "B" #. type: Plain text -#: build/C/man2/setns.2:51 +#: build/C/man2/setns.2:55 msgid "I must refer to a UTS namespace." -msgstr "" +msgstr "I は UTS 名前空間を参照していなければならない。" #. type: Plain text -#: build/C/man2/setns.2:66 +#: build/C/man2/setns.2:70 msgid "" "Specifying I as 0 suffices if the caller knows (or does not care) " "what type of namespace is referred to by I. Specifying a nonzero value " @@ -4192,89 +4904,264 @@ msgid "" "referred to by I if the file descriptor was opened by another process " "and, for example, passed to the caller via a UNIX domain socket.)" msgstr "" +"呼び出し側が I がどのタイプの名前空間を参照しているかを知っている\n" +"(もしくは気にする必要がない) 場合には、 I に 0 を指定すれば十分\n" +"である。呼び出し側が I がどのタイプの名前空間を参照しているかを\n" +"知っておらず、かつ、特定のタイプの名前空間であることを保証したい場合、\n" +"I に 0 以外の値を指定するとよい。 (ファイルディスクリプタが別の\n" +"プロセスによりオープンされ、例えば、UNIX ドメインソケット経由で呼び出し\n" +"側に渡された場合などでは、呼び出し側が I がどのタイプの名前空間を\n" +"参照しているかを知らない可能性がある。)" #. type: Plain text -#: build/C/man2/setns.2:73 +#: build/C/man2/setns.2:77 msgid "" "On success, I() returns 0. On failure, -1 is returned and I " "is set to indicate the error." msgstr "" - -#. type: TP -#: build/C/man2/setns.2:74 -#, no-wrap -msgid "B" -msgstr "B" +"成功すると I() は 0 を返す。\n" +"失敗すると、 -1 が返され、 I にエラーを示す値が設定される。" #. type: Plain text -#: build/C/man2/setns.2:78 +#: build/C/man2/setns.2:82 msgid "I is not a valid file descriptor." -msgstr "" +msgstr "I が有効なファイルディスクリプタではない。" #. type: Plain text -#: build/C/man2/setns.2:85 +#: build/C/man2/setns.2:89 msgid "" "I refers to a namespace whose type does not match that specified in " "I, or there is problem with reassociating the the thread with the " "specified namespace." msgstr "" +"I が I で指定されたタイプと一致しない名前空間を参照している。\n" +"または、指定された名前空間をそのスレッドに関連付けし直す際に問題\n" +"があった。" #. type: Plain text -#: build/C/man2/setns.2:88 +#: build/C/man2/setns.2:92 msgid "Cannot allocate sufficient memory to change the specified namespace." -msgstr "" +msgstr "指定された名前空間に変更するのに必要なメモリが割り当てられない。" #. type: Plain text -#: build/C/man2/setns.2:93 +#: build/C/man2/setns.2:97 msgid "" "The calling thread did not have the required privilege (B) " "for this operation." msgstr "" +"呼び出したスレッドがこの操作を行うのに必要な特権 (B) を\n" +"持っていなかった。" #. type: Plain text -#: build/C/man2/setns.2:97 -msgid "The B() system call first appeared in Linux in kernel 3.0" +#: build/C/man2/setns.2:102 +msgid "" +"The B() system call first appeared in Linux in kernel 3.0; library " +"support was added to glibc in version 2.14." msgstr "" +"B() システムコールはカーネル 3.0 で Linux に初めて登場した。\n" +"ライブラリによるサポートは glibc バージョン 2.14 を追加された。" #. type: Plain text -#: build/C/man2/setns.2:101 +#: build/C/man2/setns.2:106 msgid "The B() system call is Linux-specific." -msgstr "" +msgstr "B() システムコールは Linux 固有である。" #. type: Plain text -#: build/C/man2/setns.2:107 +#: build/C/man2/setns.2:112 msgid "" "Not all of the attributes that can be shared when a new thread is created " "using B(2) can be changed using B()." msgstr "" +"新しいスレッドが B(2) を使って作成された際に共有できる全ての属性を、\n" +"B() を使って変更できるわけではない。" #. type: Plain text -#: build/C/man2/setns.2:115 +#: build/C/man2/setns.2:121 msgid "" -"The PID namespace and the mount namespace are not currently supported. (See " -"the descriptions of B and B in B(2).)" +"The program below takes two or more arguments. The first argument specifies " +"the pathname of a namespace file in an existing I " +"directory. The remaining arguments specify a command and its arguments. " +"The program opens the namespace file, joins that namespace using B(), " +"and executes the specified command inside that namespace." msgstr "" +"以下のプログラムは 2 つ以上の引き数を取る。 最初の引き数には、 既存の I ディレクトリの名前空間ファイルのパス名を指定する。 残りの引き" +"数は、コマンドとその引き数を指定する。 このプログラムは名前空間ファイルをオー" +"プンし、 B() を使って名前空間に参加し、 指定されたコマンドをその名前空" +"間内で実行する。" #. type: Plain text -#: build/C/man2/setns.2:121 +#: build/C/man2/setns.2:131 +msgid "" +"The following shell session demonstrates the use of this program (compiled " +"as a binary named I) in conjunction with the B " +"example program in the B(2) man page (complied as a binary named " +"I)." +msgstr "" +"以下のシェルセッションでは、 このプログラム (I という名前のバイナリ" +"としてコンパイルされている)を、 B(2) のマニュアルページの " +"B のサンプルプログラムと組み合わせて使っている。" + +#. type: Plain text +#: build/C/man2/setns.2:139 +msgid "" +"We begin by executing the example program in B(2) in the " +"background. That program creates a child in a separate UTS namespace. The " +"child changes the hostname in its namespace, and then both processes display " +"the hostnames in their UTS namespaces, so that we can see that they are " +"different." +msgstr "" +"まず、 B(2) のサンプルプログラムをバックグラウンドで実行する。 このプ" +"ログラムは、 別の UTS 名前空間で子プロセスを作成する。 子プロセスは自分の名前" +"空間内でホスト名を変更する。 それから、 親プロセスと子プロセスの両方でそれぞ" +"れの UTS 名前空間のホスト名を表示し、 2 つのホスト名が違うことが確認できる。" + +#. type: Plain text +#: build/C/man2/setns.2:151 +#, no-wrap +msgid "" +"$ B # Need privilege for namespace operations\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 # Verify hostname in the shell\n" +"antero\n" +msgstr "" +"$ B # 名前空間の操作には特権が必要\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 # シェルでホスト名を確認\n" +"antero\n" + +#. type: Plain text +#: build/C/man2/setns.2:158 +msgid "" +"We then run the program shown below, using it to execute a shell. Inside " +"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 +#, no-wrap +msgid "" +"# B<./ns_exec /proc/3550/ns/uts /bin/bash>\n" +"# B # Executed in shell started by ns_exec\n" +"bizarro\n" +msgstr "" +"# B<./ns_exec /proc/3550/ns/uts /bin/bash>\n" +"# B # ns_exec で起動されたシェル内で実行\n" +"bizarro\n" + +#. type: SS +#: build/C/man2/setns.2:166 +#, no-wrap +msgid "Program source" +msgstr "プログラムのソース" + +#. type: Plain text +#: build/C/man2/setns.2:174 +#, no-wrap +msgid "" +"#define _GNU_SOURCE\n" +"#include Efcntl.hE\n" +"#include Esched.hE\n" +"#include Eunistd.hE\n" +"#include Estdlib.hE\n" +"#include Estdio.hE\n" +msgstr "" +"#define _GNU_SOURCE\n" +"#include Efcntl.hE\n" +"#include Esched.hE\n" +"#include Eunistd.hE\n" +"#include Estdlib.hE\n" +"#include Estdio.hE\n" + +#. type: Plain text +#: build/C/man2/setns.2:182 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd;\n" +msgstr "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int fd;\n" + +#. type: Plain text +#: build/C/man2/setns.2:187 +#, no-wrap +msgid "" +" if (argc E 3) {\n" +" fprintf(stderr, \"%s /proc/PID/ns/FILE cmd args...\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" +msgstr "" +" if (argc E 3) {\n" +" fprintf(stderr, \"%s /proc/PID/ns/FILE cmd args...\\en\", argv[0]);\n" +" exit(EXIT_FAILURE);\n" +" }\n" + +#. type: Plain text +#: build/C/man2/setns.2:191 +#, no-wrap +msgid "" +" fd = open(argv[1], O_RDONLY); /* Get descriptor for namespace */\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 +#, no-wrap +msgid "" +" 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 +#, no-wrap +msgid "" +" execvp(argv[2], &argv[2]); /* Execute a command in namespace */\n" +" 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 "B(2), B(2), B(2), B(5), B(7)" msgstr "B(2), B(2), B(2), B(5), B(7)" #. type: TH -#: build/C/man2/unshare.2:17 +#: build/C/man2/unshare.2:20 #, no-wrap msgid "UNSHARE" msgstr "UNSHARE" -#. type: TH -#: build/C/man2/unshare.2:17 -#, fuzzy, no-wrap -#| msgid "2010-10-31" -msgid "2010-10-30" -msgstr "2010-10-31" - #. type: Plain text -#: build/C/man2/unshare.2:20 +#: build/C/man2/unshare.2:23 msgid "unshare - disassociate parts of the process execution context" msgstr "unshare - プロセス実行コンテキストの一部を分離する" @@ -4285,7 +5172,12 @@ msgid "BIB<);>\n" msgstr "BIB<);>\n" #. type: Plain text -#: build/C/man2/unshare.2:41 +#: build/C/man2/unshare.2:36 +msgid "B():" +msgstr "B():" + +#. type: Plain text +#: build/C/man2/unshare.2:62 msgid "" "B() allows a process to disassociate parts of its execution " "context that are currently being shared with other processes. Part of the " @@ -4302,7 +5194,7 @@ msgstr "" "とを要求できる。" #. type: Plain text -#: build/C/man2/unshare.2:46 +#: build/C/man2/unshare.2:67 msgid "" "The main use of B() is to allow a process to control its shared " "execution context without creating a new process." @@ -4311,7 +5203,7 @@ msgstr "" "有実行コンテキストを制御することである。" #. type: Plain text -#: build/C/man2/unshare.2:53 +#: build/C/man2/unshare.2:74 msgid "" "The I argument is a bit mask that specifies which parts of the " "execution context should be unshared. This argument is specified by ORing " @@ -4320,8 +5212,14 @@ msgstr "" "I 引き数はビットマスクであり、 実行コンテキストのどの部分の共有を解除" "するかを表す。 この引き数は、以下の定数の 0 個以上の OR で指定する:" +#. type: TP +#: build/C/man2/unshare.2:74 +#, no-wrap +msgid "B" +msgstr "B" + #. type: Plain text -#: build/C/man2/unshare.2:61 +#: build/C/man2/unshare.2:82 msgid "" "Reverse the effect of the B(2) B flag. Unshare the " "file descriptor table, so that the calling process no longer shares its file " @@ -4331,27 +5229,26 @@ msgstr "" "テーブルを共有させず、 呼び出し元プロセスは他のプロセスとファイルディスクリプ" "タを共有しなくなる。" +#. type: TP +#: build/C/man2/unshare.2:82 +#, no-wrap +msgid "B" +msgstr "B" + #. type: Plain text -#: build/C/man2/unshare.2:74 +#: build/C/man2/unshare.2:96 msgid "" "Reverse the effect of the B(2) B 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(2), B(2), or B(2)" +"directory (B(2)), current directory (B(2)), or umask (B" +"(2)) attributes with any other process." msgstr "" -"B(2) B フラグの効果を取り消す。 ファイルシステム属性を共有" -"させず、 呼び出し元プロセスは他のプロセスとルートディレクトリ・ カレントディ" -"レクトリ・umask 属性を共有しなくなる。 B(2), B(2), B" -"(2) に影響する。" +"B(2) B フラグの効果を取り消す。ファイルシステム属性を共有さ" +"せず、呼び出し元プロセスは、ルートディレクトリ (B(2))、カレントディレ" +"クトリ (B(2))、 umask (B(2)) を他のプロセスと共有しなくなる。" #. type: Plain text -#: build/C/man2/unshare.2:91 -#, fuzzy -#| msgid "" -#| "This flag has the I effect as the B(2) B " -#| "flag. Unshare the mount namespace, so that the calling process has a " -#| "private copy of its namespace which is not shared with any other " -#| "process. Specifying this flag automatically implies B as well." +#: build/C/man2/unshare.2:113 msgid "" "This flag has the same effect as the B(2) B flag. " "Unshare the System V IPC namespace, so that the calling process has a " @@ -4359,32 +5256,27 @@ msgid "" "other process. Specifying this flag automatically implies B " "as well. Use of B requires the B capability." msgstr "" -"このフラグは B(2) B フラグとI<同じ>効果を持つ。 マウント" -"名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは共有しない固有の名前" -"空間のコピーを持つ。 このフラグを指定すると、 B も暗黙のうちに指定" -"される。" +"このフラグは B(2) B フラグと同じ効果を持つ。\n" +"System V IPC 名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは\n" +"共有しない固有の System V IPC 名前空間のコピーを持つ。 このフラグを指定\n" +"すると、 B も暗黙のうちに指定される。 B を\n" +"使用するには B ケーパビリティが必要である。" #. type: Plain text -#: build/C/man2/unshare.2:105 -#, fuzzy -#| msgid "" -#| "This flag has the I effect as the B(2) B " -#| "flag. Unshare the mount namespace, so that the calling process has a " -#| "private copy of its namespace which is not shared with any other " -#| "process. Specifying this flag automatically implies B as well." +#: build/C/man2/unshare.2:128 msgid "" "This flag has the same effect as the B(2) B 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 requires the B capability." +"process. Use of B requires the B capability." msgstr "" -"このフラグは B(2) B フラグとI<同じ>効果を持つ。 マウント" -"名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは共有しない固有の名前" -"空間のコピーを持つ。 このフラグを指定すると、 B も暗黙のうちに指定" -"される。" +"このフラグは B(2) B フラグと同じ効果を持つ。ネット\n" +"ワーク名前空間を共有せず、呼び出し元プロセスは他のプロセスとは共有しな\n" +"い固有のネットワーク名前空間のコピーを持つ。B を使用する\n" +"には B ケーパビリティが必要である。" #. type: TP -#: build/C/man2/unshare.2:105 +#: build/C/man2/unshare.2:128 #, no-wrap msgid "B" msgstr "B" @@ -4394,13 +5286,7 @@ msgstr "B" #. CLONE_FS, and CLONE_FILES reverse the action of the clone() #. flags of the same name. #. type: Plain text -#: build/C/man2/unshare.2:126 -#, fuzzy -#| msgid "" -#| "This flag has the I effect as the B(2) B " -#| "flag. Unshare the mount namespace, so that the calling process has a " -#| "private copy of its namespace which is not shared with any other " -#| "process. Specifying this flag automatically implies B as well." +#: build/C/man2/unshare.2:149 msgid "" "This flag has the same effect as the B(2) B flag. " "Unshare the mount namespace, so that the calling process has a private copy " @@ -4408,37 +5294,33 @@ msgid "" "this flag automatically implies B as well. Use of B " "requires the B capability." msgstr "" -"このフラグは B(2) B フラグとI<同じ>効果を持つ。 マウント" -"名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは共有しない固有の名前" -"空間のコピーを持つ。 このフラグを指定すると、 B も暗黙のうちに指定" -"される。" - -#. type: TP -#: build/C/man2/unshare.2:126 -#, fuzzy, no-wrap -#| msgid "B (since Linux 2.5.10)" -msgid "B (since Linux 2.6.26)" -msgstr "B (Linux 2.5.10 以降)" +"このフラグは B(2) B フラグと同じ効果を持つ。 マウン\n" +"ト名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは共有しない固\n" +"有の名前空間のコピーを持つ。 このフラグを指定すると、 B も暗\n" +"黙のうちに指定される。 B を使用するには B\n" +"ケーパビリティが必要である。" #. type: Plain text -#: build/C/man2/unshare.2:140 -#, fuzzy -#| msgid "" -#| "This flag has the I effect as the B(2) B " -#| "flag. Unshare the mount namespace, so that the calling process has a " -#| "private copy of its namespace which is not shared with any other " -#| "process. Specifying this flag automatically implies B as well." +#: build/C/man2/unshare.2:163 msgid "" -"This flag reverses the effect of the B(2) B flag. " -"Unshare System V semaphore undo values, so that the calling process has a " -"private copy which is not shared with any other process. Use of " -"B requires the B capability." +"This flag has the same effect as the B(2) B flag. " +"Unshare the UTS IPC namespace, so that the calling process has a private " +"copy of the UTS namespace which is not shared with any other process. Use " +"of B requires the B capability." msgstr "" -"このフラグは B(2) B フラグとI<同じ>効果を持つ。 マウント" -"名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは共有しない固有の名前" -"空間のコピーを持つ。 このフラグを指定すると、 B も暗黙のうちに指定" -"される。" +"このフラグは B(2) B フラグと同じ効果を持つ。 UTS\n" +"IPC 名前空間を共有せず、呼び出し元プロセスは他のプロセスとは共有しない\n" +"固有の UTS IPC 名前空間のコピーを持つ。 このフラグを指定すると、\n" +"B も暗黙のうちに指定される。B を使用するには\n" +"B ケーパビリティが必要である。" + +#. type: TP +#: build/C/man2/unshare.2:163 +#, no-wrap +msgid "B (since Linux 2.6.26)" +msgstr "B (Linux 2.6.26 以降)" +#. commit 9edff4ab1f8d82675277a04e359d0ed8bf14a7b7 #. As at 2.6.16, the following forced implications also apply, #. although the relevant flags are not yet implemented. #. If CLONE_THREAD is set force CLONE_VM. @@ -4461,26 +5343,20 @@ msgstr "" #. 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:176 -#, fuzzy -#| msgid "" -#| "This flag has the I effect as the B(2) B " -#| "flag. Unshare the mount namespace, so that the calling process has a " -#| "private copy of its namespace which is not shared with any other " -#| "process. Specifying this flag automatically implies B as well." +#: build/C/man2/unshare.2:200 msgid "" -"This flag has the same effect as the B(2) B flag. " -"Unshare the UTS IPC namespace, so that the calling process has a private " -"copy of the UTS namespace which is not shared with any other process. Use " -"of B requires the B capability." +"This flag reverses the effect of the B(2) B flag. " +"Unshare System V semaphore undo values, so that the calling process has a " +"private copy which is not shared with any other process. Use of " +"B requires the B capability." msgstr "" -"このフラグは B(2) B フラグとI<同じ>効果を持つ。 マウント" -"名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは共有しない固有の名前" -"空間のコピーを持つ。 このフラグを指定すると、 B も暗黙のうちに指定" -"される。" +"このフラグは B(2) B フラグの効果を逆転させる。\n" +"System V セマフォのアンドゥ値を共有せず、呼び出し元プロセスは 他のプロ\n" +"セスとは共有しない固有のコピーを持つ。B を使用するには\n" +"B ケーパビリティが必要である。" #. type: Plain text -#: build/C/man2/unshare.2:183 +#: build/C/man2/unshare.2:207 msgid "" "If I is specified as zero, then B() is a no-op; no changes " "are made to the calling process's execution context." @@ -4489,7 +5365,7 @@ msgstr "" "元プロセスの実行コンテキストは、何も変更されない。" #. type: Plain text -#: build/C/man2/unshare.2:188 +#: build/C/man2/unshare.2:212 msgid "" "On success, zero returned. On failure, -1 is returned and I is set " "to indicate the error." @@ -4498,12 +5374,12 @@ msgstr "" "ラーを示す値が設定される。" #. type: Plain text -#: build/C/man2/unshare.2:193 +#: build/C/man2/unshare.2:217 msgid "An invalid bit was specified in I." msgstr "I に不正なビットが指定された。" #. type: Plain text -#: build/C/man2/unshare.2:197 +#: build/C/man2/unshare.2:221 msgid "" "Cannot allocate sufficient memory to copy parts of caller's context that " "need to be unshared." @@ -4512,34 +5388,27 @@ msgstr "" "に、 十分なメモリが確保できなかった。" #. type: Plain text -#: build/C/man2/unshare.2:200 -#, fuzzy -#| msgid "" -#| "The calling thread did not have the required privilege " -#| "(B) for this operation." +#: build/C/man2/unshare.2:224 msgid "" "The calling process did not have the required privileges for this operation." -msgstr "" -"The calling thread did not have the required privilege (B) " -"for this operation." +msgstr "呼び出し元プロセスはこの操作を行うのに必要な特権を持っていなかった。" #. type: Plain text -#: build/C/man2/unshare.2:204 +#: build/C/man2/unshare.2:228 msgid "The B() system call was added to Linux in kernel 2.6.16." msgstr "B() システムコールは Linux カーネル 2.6.16 で追加された。" #. type: Plain text -#: build/C/man2/unshare.2:208 +#: build/C/man2/unshare.2:232 msgid "The B() system call is Linux-specific." msgstr "B() システムコールは Linux 固有である。" +#. FIXME all of the following needs to be reviewed for the current kernel #. However, we can do unshare(CLONE_SIGHAND) if CLONE_SIGHAND #. was not specified when doing clone(); i.e., unsharing #. signal handlers is permitted if we are not actually #. sharing signal handlers. mtk -#. FIXME . check future kernel versions (e.g., 2.6.17) -#. to see if CLONE_VM gets implemented. -#. However, as at 2.6.16, we can do unshare(CLONE_VM) if CLONE_VM +#. However, we can do unshare(CLONE_VM) if CLONE_VM #. was not specified when doing clone(); i.e., unsharing #. virtual memory is permitted if we are not actually #. sharing virtual memory. mtk @@ -4553,156 +5422,62 @@ msgstr "B() システムコールは Linux 固有である。" #. be incrementally added to unshare without affecting legacy #. applications using unshare. #. type: Plain text -#: build/C/man2/unshare.2:244 +#: 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(2) can be unshared using B(). In " -"particular, as at kernel 2.6.16, B() does not implement flags that " -"reverse the effects of B, B, B, " -"or B. Such functionality may be added in the future, if required." +"particular, as at kernel 3.8, B() does not implement flags that " +"reverse the effects of B, B, or B. " +"Such functionality may be added in the future, if required." msgstr "" "B(2) で新しいプロセスを生成したときに共有される全てのプロセス属性" "を、 B() によって共有の解除ができるわけではない。 特に、カーネル " -"2.6.16 においては、 B() に B, B, " -"B, B の効果を取り消すためのフラグが実装されていな" -"い。 これらの機能は、必要であれば将来追加されるかもしれない。" - -#. type: Plain text -#: build/C/man2/unshare.2:249 -msgid "B(2), B(2), B(2), Documentation/unshare.txt" -msgstr "B(2), B(2), B(2), Documentation/unshare.txt" - -#. type: TH -#: build/C/man3/get_nprocs_conf.3:24 -#, no-wrap -msgid "GET_NPROCS" -msgstr "" - -#. type: TH -#: build/C/man3/get_nprocs_conf.3:24 -#, fuzzy, no-wrap -#| msgid "2006-03-23" -msgid "2012-03-20" -msgstr "2006-03-23" - -#. type: TH -#: build/C/man3/get_nprocs_conf.3:24 -#, no-wrap -msgid "GNU" -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:27 -msgid "get_nprocs, get_nprocs_conf - get number of processors" -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:29 -#, fuzzy -#| msgid "B<#include Esched.hE>" -msgid "B<#include Esys/sysinfo.hE>" -msgstr "B<#include Esched.hE>" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:31 -#, fuzzy -#| msgid "B\n" -msgid "B" -msgstr "B\n" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:33 -#, fuzzy -#| msgid "B\n" -msgid "B" -msgstr "B\n" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:37 -msgid "" -"The function B() returns the number of processors " -"configured by the operating system." -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:44 -msgid "" -"The function B() returns the number of processors currently " -"available in the system. This may be less than the number returned by " -"B() because processors may be offline (e.g., on " -"hotpluggable systems)." -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:46 -#, fuzzy -#| msgid "DESCRIPTION" -msgid "As given in DESCRIPTION." -msgstr "説明" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:48 -msgid "These functions are GNU extensions." -msgstr "" - -#. glibc 2.15 -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:55 -msgid "" -"The current implementation of these functions is rather expensive, since " -"they open and parse files in the I file system each time they are " -"called." -msgstr "" +"3.8 時点では、 B() に B, B, " +"B の効果を取り消すためのフラグが実装されていない。 これらの機能は、" +"必要であれば将来追加されるかもしれない。" #. type: Plain text -#: build/C/man3/get_nprocs_conf.3:60 -msgid "" -"The following B(3) calls make use of the functions documented on " -"this page to return the same information." -msgstr "" - -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:64 -#, no-wrap -msgid "" -" np = sysconf(_SC_NPROCESSORS_CONF); /* processors configured */\n" -" np = sysconf(_SC_NPROCESSORS_ONLN); /* processors available */\n" -msgstr "" +#: build/C/man2/unshare.2:272 +msgid "B(2), B(2), B(2), B(2), B(2)" +msgstr "B(2), B(2), B(2), B(2), B(2)" #. type: Plain text -#: build/C/man3/get_nprocs_conf.3:71 -msgid "" -"The following example shows how B() and B() " -"can be used." -msgstr "" +#: build/C/man2/unshare.2:275 +msgid "I in the Linux kernel source tree" +msgstr "Linux カーネルソース内の I" -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:75 -#, no-wrap -msgid "" -"#include Estdio.hE\n" -"#include Esys/sysinfo.hE\n" -msgstr "" +#~ msgid "" +#~ "B() creates a new process, in a manner similar to B(2). It " +#~ "is actually a library function layered on top of the underlying B" +#~ "() system call, hereinafter referred to as B. A description " +#~ "of B is given toward the end of this page." +#~ msgstr "" +#~ "B() は B(2) と同じような方法で新しいプロセスを作成する。 " +#~ "B() には、ライブラリ関数とその下層にあたる B() システム" +#~ "コールが存在する。以下の説明では、システムコールの方を B と表す" +#~ "こととする。 B に関する説明はこのマニュアルの最後の方にある。" -#. type: Plain text -#: build/C/man3/get_nprocs_conf.3:84 -#, no-wrap -msgid "" -"int\n" -"main(int argc, char *argv[])\n" -"{\n" -" printf(\"This system has %d processors configured and \"\n" -" \"%d processors available.\\en\",\n" -" get_nprocs_conf(), get_nprocs());\n" -" return 0;\n" -"}\n" -msgstr "" +#~ msgid "" +#~ "The B() and B calls are Linux-specific and should not " +#~ "be used in programs intended to be portable." +#~ msgstr "" +#~ "B() と B コールは Linux 特有であり、移植を考慮したプロ" +#~ "グラムでは使用すべき ではない。" -#~ msgid "2010-09-10" -#~ msgstr "2010-09-10" +#~ msgid "" +#~ "I in the Linux kernel source " +#~ "tree (since kernel 2.6.25)." +#~ msgstr "" +#~ "Linux カーネルソース内の I " +#~ "(カーネル 2.6.25 以降)" -#~ msgid "2007-04-06" -#~ msgstr "2007-04-06" +#~ msgid "" +#~ "The PID namespace and the mount namespace are not currently supported. " +#~ "(See the descriptions of B and B in B" +#~ "(2).)" +#~ msgstr "" +#~ "現在のところ、 PID 名前空間とマウント名前空間はサポートされていない\n" +#~ "(B(2) の B と B の説明を参照)。" #~ msgid "" #~ "If I is zero, the time quantum for the calling process is written " @@ -4716,9 +5491,6 @@ msgstr "" #~ "る。 B() の使用可能な POSIX システムでは " #~ "Iunistd.hE> で B<_POSIX_PRIORITY_SCHEDULING> が定義されている。" -#~ msgid "2010-11-01" -#~ msgstr "2010-11-01" - #~ msgid "" #~ "I You probably never wanted " #~ "to use it, you certainly shouldn't be using it, and soon it will go away." @@ -4727,9 +5499,6 @@ msgstr "" #~ "うことは決してないだろうし、 確実に使わないようにすべきである。 このフラグ" #~ "は近いうちになくなることだろう。" -#~ msgid "2008-11-06" -#~ msgstr "2008-11-06" - #~ msgid "" #~ "Special rules apply for the B: an unprivileged process " #~ "operating under this policy cannot change its policy, regardless of the "