OSDN Git Service

LDP: Address fuzzy changes (sched)
authorAkihiro Motoki <amotoki@gmail.com>
Wed, 7 Apr 2021 16:43:53 +0000 (01:43 +0900)
committerAkihiro Motoki <amotoki@gmail.com>
Wed, 7 Apr 2021 16:43:53 +0000 (01:43 +0900)
12 files changed:
manual/LDP_man-pages/draft/man2/sched_get_priority_max.2
manual/LDP_man-pages/draft/man2/sched_rr_get_interval.2
manual/LDP_man-pages/draft/man2/sched_setattr.2
manual/LDP_man-pages/draft/man2/sched_setparam.2
manual/LDP_man-pages/draft/man2/sched_setscheduler.2
manual/LDP_man-pages/draft/man2/sched_yield.2
manual/LDP_man-pages/draft/man2/unshare.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man3/CPU_SET.3
manual/LDP_man-pages/draft/man3/sched_getcpu.3
manual/LDP_man-pages/po4a/sched/po/ja.po
manual/LDP_man-pages/stats/sched
manual/LDP_man-pages/untrans.html

index c47797a..c0bf768 100644 (file)
@@ -37,7 +37,7 @@
 .\" Translated 1997-02-23, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
 .\" Updated 2006-04-14, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.29
 .\"
-.TH SCHED_GET_PRIORITY_MAX 2 2017\-09\-15 Linux "Linux Programmer's Manual"
+.TH SCHED_GET_PRIORITY_MAX 2 " 2017\-09\-15" Linux "Linux Programmer's Manual"
 .SH 名前
 sched_get_priority_max, sched_get_priority_min \- 静的プライオリティの範囲を取得する
 .SH 書式
@@ -61,11 +61,10 @@ Linux では、 ポリシー \fBSCHED_FIFO\fP と \fBSCHED_RR\fP では 1 から
 変更することができない。
 .PP
 .\" POSIX.1-2001, POSIX.1-2008 (XBD 2.8.4)
-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
-map it to the interval given by \fBsched_get_priority_max\fP()  and
-\fBsched_get_priority_min\fP POSIX.1 requires a spread of at least 32 between
-the maximum and the minimum values for \fBSCHED_FIFO\fP and \fBSCHED_RR\fP.
+スケジューリングプライオリティの範囲は他の POSIX システムと 異なっているかもしれない。それで、移植性(portable)のある
+アプリケーションでは仮想的な範囲を用い \fBsched_get_priority_max\fP()  と \fBsched_get_priority_min\fP
+で与えられた間隔にマップして使用することはいい考えである。 POSIX.1 では \fBSCHED_FIFO\fP と \fBSCHED_RR\fP における
+最大値と最小値の間隔を少なくとも 32 にすることを要求している。
 .PP
 POSIX システムでは \fBsched_get_priority_max\fP()  と \fBsched_get_priority_min\fP()  は
 \fI<unistd.h>\fP に \fB_POSIX_PRIORITY_SCHEDULING\fP が定義されている場合にのみ使用可能である。
@@ -77,7 +76,7 @@ POSIX システムでは \fBsched_get_priority_max\fP()  と \fBsched_get_priori
 \fBEINVAL\fP
 引き数 \fIpolicy\fP が定義されているスケジューリング方針と一致しない。
 .SH 準拠
-POSIX.1\-2001, POSIX.1\-2008.
+ POSIX.1\-2001, POSIX.1\-2008.
 .SH 関連項目
 .ad l
 .nh
index 0596fad..a20173c 100644 (file)
 .\" Updated 2012-05-08, Akihiro MOTOKI <amotoki@gmail.com>
 .\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH SCHED_RR_GET_INTERVAL 2 2017\-09\-15 Linux "Linux Programmer's Manual"
+.TH SCHED_RR_GET_INTERVAL 2 " 2017\-09\-15" Linux "Linux Programmer's Manual"
 .SH 名前
 sched_rr_get_interval \- 指定されたプロセスの SCHED_RR 間隔を取得する
 .SH 書式
 \fB#include <sched.h>\fP
 .PP
-\fBint sched_rr_get_interval(pid_t \fP\fIpid\fP\fB, struct timespec *\fP\fItp\fP\fB);\fP
+ \fBint sched_rr_get_interval(pid_t \fP\fIpid\fP\fB, struct timespec *\fP\fItp\fP\fB);\fP
 .SH 説明
 \fBsched_rr_get_interval\fP() は \fItp\fP で指定された \fItimespec\fP 構造体に
 \fIpid\fP で指定されたプロセスのラウンドロビン時間量 (round robin time
@@ -91,7 +91,7 @@ PID が不正である。
 \fBESRCH\fP
 プロセス ID が \fIpid\fP のプロセスが見つからなかった。
 .SH 準拠
-POSIX.1\-2001, POSIX.1\-2008.
+ POSIX.1\-2001, POSIX.1\-2008.
 .SH 注意
 POSIX システムで \fBsched_rr_get_interval\fP() は \fI<unistd.h>\fP に
 \fB_POSIX_PRIORITY_SCHEDULING\fP が定義されている場合にのみ使用可能である。
index cdef3f0..93fedfb 100644 (file)
@@ -35,10 +35,10 @@ sched_setattr, sched_getattr \- スケジューリングポリシーと属性の
 .nf
 \fB#include <sched.h>\fP
 .PP
-\fBint sched_setattr(pid_t \fP\fIpid\fP\fB, struct sched_attr *\fP\fIattr\fP\fB,\fP
+ \fBint sched_setattr(pid_t \fP\fIpid\fP\fB, struct sched_attr *\fP\fIattr\fP\fB,\fP
 \fB                  unsigned int \fP\fIflags\fP\fB);\fP
 .PP
-\fBint sched_getattr(pid_t \fP\fIpid\fP\fB, struct sched_attr *\fP\fIattr\fP\fB,\fP
+ \fBint sched_getattr(pid_t \fP\fIpid\fP\fB, struct sched_attr *\fP\fIattr\fP\fB,\fP
 \fB                  unsigned int \fP\fIsize\fP\fB, unsigned int \fP\fIflags\fP\fB);\fP
 .fi
 .\" FIXME . Add feature test macro requirements
@@ -97,7 +97,7 @@ struct sched_attr {
 .EE
 .in
 .PP
-The fields of the \fIsched_attr\fP structure are as follows:
+構造体 \fIsched_attr\fP のフィールドは以下の通りである。
 .TP 
 \fBsize\fP
 このフィールドには、 構造体のバイト単位のサイズを設定する。 \fIsizeof(struct sched_attr)\fP を指定すればよい。
@@ -119,18 +119,18 @@ This field contains zero or more of the following flags that are ORed
 together to control scheduling behavior:
 .RS
 .TP 
-\fBSCHED_FLAG_RESET_ON_FORK\fP
+ \fBSCHED_FLAG_RESET_ON_FORK\fP
 Children created by \fBfork\fP(2)  do not inherit privileged scheduling
 policies.  See \fBsched\fP(7)  for details.
 .TP 
-\fBSCHED_FLAG_RECLAIM\fP (since Linux 4.13)
+\fBSCHED_FLAG_RECLAIM\fP (Linux 4.13 以降)
 .\" 2d4283e9d583a3ee8cfb1cbb9c1270614df4c29d
 .\" Bandwidth reclaim is done via the GRUB algorithm; see
 .\" Documentation/scheduler/sched-deadline.txt
 This flag allows a \fBSCHED_DEADLINE\fP thread to reclaim bandwidth unused by
 other real\-time threads.
 .TP 
-\fBSCHED_FLAG_DL_OVERRUN\fP (since Linux 4.16)
+\fBSCHED_FLAG_DL_OVERRUN\fP (Linux 4.16 以降)
 .\" commit 34be39305a77b8b1ec9f279163c7cdb6cc719b91
 This flag allows an application to get informed about run\-time overruns in
 \fBSCHED_DEADLINE\fP threads.  Such overruns may be caused by (for example)
@@ -147,10 +147,8 @@ has no way of knowing which thread overran.
 .RE
 .TP 
 \fIsched_nice\fP
-This field specifies the nice value to be set when specifying
-\fIsched_policy\fP as \fBSCHED_OTHER\fP or \fBSCHED_BATCH\fP.  The nice value is a
-number in the range \-20 (high priority)  to +19 (low priority); see
-\fBsched\fP(7).
+このフィールドは、 \fIsched_policy\fP に \fBSCHED_OTHER\fP か \fBSCHED_BATCH\fP が指定された場合に設定される
+nice 値を指定する。 nice 値は \-20 (高優先度) から +19 (低優先度) の範囲の数値である。 \fBsched\fP(7) を参照。
 .TP 
 \fIsched_priority\fP
 このフィールドは、 \fIsched_policy\fP に \fBSCHED_FIFO\fP か \fBSCHED_RR\fP
@@ -230,8 +228,8 @@ ID が \fIpid\fP のスレッドが見つからなかった。
 呼び出した元が適切な特権を持っていない。
 .TP 
 \fBEPERM\fP
-The CPU affinity mask of the thread specified by \fIpid\fP does not include all
-CPUs in the system (see \fBsched_setaffinity\fP(2)).
+\fIpid\fP で指定されたスレッドの CPU affinity マスクにシステムの全ての CPU のうち含まれていないものがある
+(\fBsched_setaffinity\fP(2) を参照)。
 .SH バージョン
 .\" FIXME . Add glibc version
 これらのシステムコールは Linux 3.14 で初めて登場した。
@@ -245,8 +243,8 @@ CPUs in the system (see \fBsched_setaffinity\fP(2)).
 \fBgetpriority\fP(2) の一部機能を持つ。
 .SH バグ
 .\" FIXME . patch sent to Peter Zijlstra
-In Linux versions up to 3.15, \fBsched_setattr\fP()  failed with the error
-\fBEFAULT\fP instead of \fBE2BIG\fP for the case described in ERRORS.
+バージョン 3.15 までの Linux では、 \fBsched_setattr\fP() は、 エラーの節に書かれている \fBE2BIG\fP
+の場合にエラー\fBEFAULT\fP で失敗していた。
 .PP
 .\" In Linux versions up to up 3.15,
 .\" FIXME . patch from Peter Zijlstra pending
@@ -260,7 +258,7 @@ In Linux versions up to 5.3, \fBsched_getattr\fP()  failed with the error
 .SH 関連項目
 .ad l
 .nh
-\fBchrt\fP(1), \fBnice\fP(2), \fBsched_get_priority_max\fP(2),
+ \fBchrt\fP(1), \fBnice\fP(2), \fBsched_get_priority_max\fP(2),
 \fBsched_get_priority_min\fP(2), \fBsched_getaffinity\fP(2), \fBsched_getparam\fP(2),
 \fBsched_getscheduler\fP(2), \fBsched_rr_get_interval\fP(2),
 \fBsched_setaffinity\fP(2), \fBsched_setparam\fP(2), \fBsched_setscheduler\fP(2),
index b21e638..77ed95d 100644 (file)
@@ -40,7 +40,7 @@
 .\" Updated & Modified 2005-10-10, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
 .\" Updated 2006-04-14, Akihiro MOTOKI, LDP v2.29
 .\"
-.TH SCHED_SETPARAM 2 2019\-10\-10 Linux "Linux Programmer's Manual"
+.TH SCHED_SETPARAM 2 " 2019\-10\-10" Linux "Linux Programmer's Manual"
 .SH 名前
 sched_setparam, sched_getparam \- スケジューリングパラメーターの設定と取得を行なう
 .SH 書式
@@ -65,9 +65,8 @@ interpretation of the argument \fIparam\fP depends on the scheduling policy of
 the thread identified by \fIpid\fP.  See \fBsched\fP(7)  for a description of the
 scheduling policies supported under Linux.
 .PP
-\fBsched_getparam\fP()  retrieves the scheduling parameters for the thread
-identified by \fIpid\fP.  If \fIpid\fP is zero, then the parameters of the calling
-thread are retrieved.
+\fBsched_getparam\fP()  は \fIpid\fP で指定されたスレッドのスケジューリングパラメーターを取得する。 \fIpid\fP が 0
+ならば、呼び出し元のスレッドのパラメーターを取得する。
 .PP
 \fBsched_setparam\fP()  はスレッドのスケジューリング方針における \fIparam\fP の妥当性をチェックする。
 \fIparam\->sched_priority\fP の値は \fBsched_get_priority_min\fP(2)  と
@@ -89,17 +88,17 @@ thread are retrieved.
 (\fBsched_setparam\fP()) 引き数 \fIparam\fP が現在のスケジューリング方針においては 無意味である。
 .TP 
 \fBEPERM\fP
-(\fBsched_setparam\fP())  The caller does not have appropriate privileges
-(Linux: does not have the \fBCAP_SYS_NICE\fP capability).
+(\fBsched_setparam\fP()) 呼び出し元が適切な特権を持っていない (Linux では、 \fBCAP_SYS_NICE\fP
+ケーパビリティを持っていない)。
 .TP 
 \fBESRCH\fP
 ID が \fIpid\fP のスレッドが見つからなかった。
 .SH 準拠
-POSIX.1\-2001, POSIX.1\-2008.
+ POSIX.1\-2001, POSIX.1\-2008.
 .SH 関連項目
 .ad l
 .nh
-\fBgetpriority\fP(2), \fBgettid\fP(2), \fBnice\fP(2), \fBsched_get_priority_max\fP(2),
+ \fBgetpriority\fP(2), \fBgettid\fP(2), \fBnice\fP(2), \fBsched_get_priority_max\fP(2),
 \fBsched_get_priority_min\fP(2), \fBsched_getaffinity\fP(2),
 \fBsched_getscheduler\fP(2), \fBsched_setaffinity\fP(2), \fBsched_setattr\fP(2),
 \fBsched_setscheduler\fP(2), \fBsetpriority\fP(2), \fBcapabilities\fP(7), \fBsched\fP(7)
index 924014c..e1a8beb 100644 (file)
 .\" Updated 2013-05-01, Akihiro MOTOKI <amotoki@gmail.com>
 .\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH SCHED_SETSCHEDULER 2 2017\-09\-15 Linux "Linux Programmer's Manual"
+.TH SCHED_SETSCHEDULER 2 " 2017\-09\-15" Linux "Linux Programmer's Manual"
 .SH 名前
 sched_setscheduler, sched_getscheduler \- スケジューリングポリシーとパラメーターを設定/取得する
 .SH 書式
 .nf
 \fB#include <sched.h>\fP
 .PP
-\fBint sched_setscheduler(pid_t \fP\fIpid\fP\fB, int \fP\fIpolicy\fP\fB,\fP
+ \fBint sched_setscheduler(pid_t \fP\fIpid\fP\fB, int \fP\fIpolicy\fP\fB,\fP
 \fB                       const struct sched_param *\fP\fIparam\fP\fB);\fP
 .PP
 \fBint sched_getscheduler(pid_t \fP\fIpid\fP\fB);\fP
@@ -134,8 +134,8 @@ Linux 2.6.32 以降では、 \fBsched_setscheduler\fP() を呼び出す際に \f
 \fBESRCH\fP
 ID が \fIpid\fP のスレッドが見つからなかった。
 .SH 準拠
-POSIX.1\-2001, POSIX.1\-2008 (but see BUGS below).  The \fBSCHED_BATCH\fP and
-\fBSCHED_IDLE\fP policies are Linux\-specific.
+POSIX.1\-2001, POSIX.1\-2008 (但し、下記のバグの節も参照)。 \fBSCHED_BATCH\fP と \fBSCHED_IDLE\fP
+ポリシーは Linux 固有である。
 .SH 注意
 Further details of the semantics of all of the above "normal" and
 "real\-time" scheduling policies can be found in the \fBsched\fP(7)  manual
@@ -156,9 +156,8 @@ Linux では、 スケジューリングポリシーとスケジューリング
 システムコールの代わりに \fBpthread_setschedparam\fP(3), \fBpthread_getschedparam\fP(3), and
 \fBpthread_setschedprio\fP(3) を使用すること)。
 .SH バグ
-POSIX.1 says that on success, \fBsched_setscheduler\fP()  should return the
-previous scheduling policy.  Linux \fBsched_setscheduler\fP()  does not conform
-to this requirement, since it always returns 0 on success.
+POSIX.1 では、成功時に \fBsched_setscheduler\fP()  は直前のスケジューリングポリシーを返すべきとされている。 Linux
+の \fBsched_setscheduler\fP()  はこの要求仕様に準拠しておらず、 成功時には常に 0 を返す。
 .SH 関連項目
 .ad l
 .nh
index 897318e..279a97b 100644 (file)
@@ -38,7 +38,7 @@
 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
 .\" Updated 2008-11-10, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.13
 .\"
-.TH SCHED_YIELD 2 2017\-09\-15 Linux "Linux Programmer's Manual"
+.TH SCHED_YIELD 2 " 2017\-09\-15" Linux "Linux Programmer's Manual"
 .SH 名前
 sched_yield \- プロセッサーを空け渡す(yield)
 .SH 書式
@@ -53,7 +53,7 @@ sched_yield \- プロセッサーを空け渡す(yield)
 .SH エラー
 Linux の実装では、 \fBsched_yield\fP()  は常に成功する。
 .SH 準拠
-POSIX.1\-2001, POSIX.1\-2008.
+ POSIX.1\-2001, POSIX.1\-2008.
 .SH 注意
 \fBsched_yield\fP()  を呼び出した時点で最大優先度のリストの中に呼び出し元のスレッドしか
 存在しなければ、そのスレッドは呼び出し後も走り続けることになる。
diff --git a/manual/LDP_man-pages/draft/man2/unshare.2 b/manual/LDP_man-pages/draft/man2/unshare.2
new file mode 100644 (file)
index 0000000..d24935a
--- /dev/null
@@ -0,0 +1,338 @@
+.\" Copyright (C) 2006, Janak Desai <janak@us.ibm.com>
+.\" and Copyright (C) 2006, 2012 Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
+.\" Licensed under the GPL
+.\" %%%LICENSE_END
+.\"
+.\" Patch Justification:
+.\" unshare system call is needed to implement, using PAM,
+.\" per-security_context and/or per-user namespace to provide
+.\" polyinstantiated directories. Using unshare and bind mounts, a
+.\" PAM module can create private namespace with appropriate
+.\" directories(based on user's security context) bind mounted on
+.\" public directories such as /tmp, thus providing an instance of
+.\" /tmp that is based on user's security context. Without the
+.\" unshare system call, namespace separation can only be achieved
+.\" by clone, which would require porting and maintaining all commands
+.\" such as login, and su, that establish a user session.
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 2006 Yuichi SATO
+.\"         all rights reserved.
+.\" Translated 2006-08-10 by Yuichi SATO <ysato444@yahoo.co.jp>, LDP v2.36
+.\" Updated 2012-05-08, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-03-26, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH UNSHARE 2 " 2020\-04\-11" Linux "Linux Programmer's Manual"
+.SH 名前
+unshare \- プロセス実行コンテキストの一部を分離する
+.SH 書式
+.nf
+\fB#define _GNU_SOURCE\fP
+\fB#include <sched.h>\fP
+.PP
+\fBint unshare(int \fP\fIflags\fP\fB);\fP
+.fi
+.SH 説明
+\fBunshare\fP() を使うと、プロセス (やスレッド) は他のプロセス (やスレッド) と現在共有している
+実行コンテキストの一部を分離することができる。 実行コンテキストの一部、たとえばマウント名前空間 (mount namespace)
+などは、新しいプロセスを \fBfork\fP(2)  または \fBvfork\fP(2)  を使って生成したときに、暗黙のうちに共有される。
+一方、仮想メモリーなどは、 \fBclone\fP(2) を使ってプロセスやスレッドを生成するときに、明示的に共有することを要求できる。
+.PP
+\fBunshare\fP()  の主な利用法は、プロセスが新しいプロセスを生成することなく、 共有実行コンテキストを制御することである。
+.PP
+\fIflags\fP 引き数はビットマスクであり、 実行コンテキストのどの部分の共有を解除するかを表す。 この引き数は、以下の定数の 0 個以上の OR
+で指定する:
+.TP 
+\fBCLONE_FILES\fP
+\fBclone\fP(2)  \fBCLONE_FILES\fP フラグの効果を取り消す。 ファイルディスクリプターテーブルを共有させず、
+呼び出し元プロセスは他のプロセスとファイルディスクリプターを共有しなくなる。
+.TP 
+\fBCLONE_FS\fP
+\fBclone\fP(2)  \fBCLONE_FS\fP フラグの効果を取り消す。ファイルシステム属性を共有させず、呼び出し元プロセスは、ルートディレクトリ
+(\fBchroot\fP(2))、カレントディレクトリ (\fBchdir\fP(2))、 umask (\fBumask\fP(2))
+を他のプロセスと共有しなくなる。
+.TP 
+\fBCLONE_NEWCGROUP\fP (Linux 4.6 以降)
+This flag has the same effect as the \fBclone\fP(2)  \fBCLONE_NEWCGROUP\fP flag.
+Unshare the cgroup namespace.  Use of \fBCLONE_NEWCGROUP\fP requires the
+\fBCAP_SYS_ADMIN\fP capability.
+.TP 
+\fBCLONE_NEWIPC\fP (Linux 2.6.19 以降)
+このフラグは \fBclone\fP(2) \fBCLONE_NEWIPC\fP フラグと同じ効果を持つ。 IPC 名前空間を共有せず、呼び出し元プロセスは
+他のプロセスとは共有しない固有の IPC 名前空間のコピーを持つ。 このフラグを指定すると、 \fBCLONE_SYSVSEM\fP
+も暗黙のうちに指定される。 \fBCLONE_NEWIPC\fP を使用するには \fBCAP_SYS_ADMIN\fP ケーパビリティが必要である。
+.TP 
+\fBCLONE_NEWNET\fP (Linux 2.6.24 以降)
+このフラグは \fBclone\fP(2) \fBCLONE_NEWNET\fP フラグと同じ効果を持つ。ネット
+ワーク名前空間を共有せず、呼び出し元プロセスは他のプロセスとは共有しな
+い固有のネットワーク名前空間のコピーを持つ。\fBCLONE_NEWNET\fP を使用する
+には \fBCAP_SYS_ADMIN\fP ケーパビリティが必要である。
+.TP 
+\fBCLONE_NEWNS\fP
+.\" These flag name are inconsistent:
+.\" CLONE_NEWNS does the same thing in clone(), but CLONE_VM,
+.\" CLONE_FS, and CLONE_FILES reverse the action of the clone()
+.\" flags of the same name.
+このフラグは \fBclone\fP(2) \fBCLONE_NEWNS\fP フラグと同じ効果を持つ。 マウント名前空間を共有せず、呼び出し元プロセスは
+他のプロセスとは共有しない固有の名前空間のコピーを持つ。 このフラグを指定すると、 \fBCLONE_FS\fP も暗黙のうちに指定される。
+\fBCLONE_NEWNS\fP を使用するには \fBCAP_SYS_ADMIN\fP ケーパビリティが必要である。詳細は
+\fBmount_namespaces\fP(7) を参照。
+.TP 
+\fBCLONE_NEWPID\fP (Linux 3.8 以降)
+このフラグは \fBclone\fP(2) \fBCLONE_NEWPID\fP フラグと同じ効果を持つ。 PID 名前空間を共有しない。 呼び出し元プロセスは、
+すでに存在するどのプロセスとも共有されない新しい PID 名前空間を、 自身の子プロセス用に持つことになる。
+このプロセスにより作成される最初の子プロセスはプロセス ID 1 を持ち、 この新しい名前空間において \fBinit\fP(1) の役割を持つとみなされる。
+\fBCLONE_NEWPID\fP を指定すると、自動的に \fBCLONE_THREAD\fP も指定されたものとみなされる。 \fBCLONE_NEWPID\fP
+を使用するには \fBCAP_SYS_ADMIN\fP ケーパビリティが必要である。 詳細な情報は \fBpid_namespaces\fP(7) を参照。
+.TP 
+\fBCLONE_NEWTIME\fP (Linux 5.6 以降)
+Unshare the time namespace, so that the calling process has a new time
+namespace for its children which is not shared with any previously existing
+process.  The calling process is \fInot\fP moved into the new namespace.  Use
+of \fBCLONE_NEWTIME\fP requires the \fBCAP_SYS_ADMIN\fP capability.  For further
+information, see \fBtime_namespaces\fP(7).
+.TP 
+\fBCLONE_NEWUSER\fP (Linux 3.8 以降)
+このフラグは \fBclone\fP(2) \fBCLONE_NEWUSER\fP フラグと同じ効果を持つ。 ユーザー名前空間を共有せず、
+呼び出し元プロセスはすでに存在するどのプロセスとも共有されない新しいユーザー名前空間に移動される。 \fBCLONE_NEWUSER\fP フラグを指定して
+\fBclone\fP(2) で作成された子プロセスと同様に、 呼び出し元は新しい名前空間ですべてのケーパビリティを獲得する。
+.IP
+.\" commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71
+.\" https://lwn.net/Articles/543273/
+\fBCLONE_NEWUSER\fP を使うには、呼び出し元プロセスがスレッド化されていないことが必要である。 \fBCLONE_NEWUSER\fP
+を指定すると、自動的に \fBCLONE_THREAD\fP が指定されたものとみなされる。 Linux 3.9 以降では、 \fBCLONE_NEWUSER\fP
+が指定された場合 \fBCLONE_FS\fP も指定されたとみなされる。 \fBCLONE_NEWUSER\fP を使うには、呼び出し元プロセスのユーザー ID
+とグループ ID が、 呼び出した時点で、 呼び出し元プロセスのユーザー名前空間のユーザー ID とグループ ID にマッピングされている必要がある。
+.IP
+ユーザー名前空間の詳細は \fBuser_namespaces\fP(7) を参照。
+.TP 
+\fBCLONE_NEWUTS\fP (Linux 2.6.19 以降)
+このフラグは \fBclone\fP(2) \fBCLONE_NEWUTS\fP フラグと同じ効果を持つ。 UTS
+IPC 名前空間を共有せず、呼び出し元プロセスは他のプロセスとは共有しない
+固有の UTS IPC 名前空間のコピーを持つ。 このフラグを指定すると、
+\fBCLONE_FS\fP も暗黙のうちに指定される。\fBCLONE_NEWUTS\fP を使用するには
+\fBCAP_SYS_ADMIN\fP ケーパビリティが必要である。
+.TP 
+\fBCLONE_SYSVSEM\fP (Linux 2.6.26 以降)
+.\" commit 9edff4ab1f8d82675277a04e359d0ed8bf14a7b7
+.\" CLONE_NEWNS If CLONE_SIGHAND is set and signals are also being shared
+.\" (i.e., current->signal->count > 1), force CLONE_THREAD.
+このフラグは \fBclone\fP(2) \fBCLONE_SYSVSEM\fP フラグの効果を逆転させる。 System\ V セマフォの調整値
+(\fIsemadj\fP) を共有せず、 呼び出し元プロセスは他のプロセスとは共有されない新しい空の \fIsemadj\fP リストを持つ。
+そのプロセスが、自分の現在の \fIsemadj\fP リストへの参照を持つ最後のプロセスであれば、 このリストの調整値は対応するセマフォに適用される
+(\fBsemop\fP(2) に説明がある通り)。
+.PP
+.\" As at 3.9, the following forced implications also apply,
+.\" although the relevant flags are not yet implemented.
+.\" If CLONE_THREAD is set force CLONE_VM.
+.\" If CLONE_VM is set, force CLONE_SIGHAND.
+.\"
+.\" See kernel/fork.c::check_unshare_flags()
+上記に加えて、 呼び出し元がシングルスレッドの場合 (すなわち別のプロセスやスレッドとアドレス空間を共有していない場合)、
+\fBCLONE_THREAD\fP, \fBCLONE_SIGHAND\fP, \fBCLONE_VM\fP を指定することができる。 この場合、
+これらのフラグは効果を持たない。 (\fBCLONE_THREAD\fP を指定すると自動的に \fBCLONE_VM\fP が指定されたとみなされ、
+\fBCLONE_VM\fP を指定すると自動的に \fBCLONE_SIGHAND\fP が指定されたとみなされる点に注意してほしい。)
+プロセスがマルチスレッドの場合、 これらのフラグを使用するとエラーとなる。
+.PP
+\fIflags\fP に 0 が指定された場合、 \fBunshare\fP()  は何も行わないので、
+呼び出し元プロセスの実行コンテキストは、何も変更されない。
+.SH 返り値
+成功した場合は 0 が返される。 失敗した場合は \-1 が返されて、 \fIerrno\fP にはエラーを示す値が設定される。
+.SH エラー
+.TP 
+\fBEINVAL\fP
+\fIflags\fP に不正なビットが指定された。
+.TP 
+\fBEINVAL\fP
+\fBCLONE_THREAD\fP, \fBCLONE_SIGHAND\fP, \fBCLONE_VM\fP が \fIflags\fP に指定されたが、
+呼び出したプロセスはマルチスレッドである。
+.TP 
+\fBEINVAL\fP
+\fIflags\fP に \fBCLONE_NEWIPC\fP が指定されたが、カーネルでオプション \fBCONFIG_SYSVIPC\fP と
+\fBCONFIG_IPC_NS\fP が有効になっていなかった。
+.TP 
+\fBEINVAL\fP
+\fIflags\fP に \fBCLONE_NEWNET\fP が指定されたが、カーネルでオプション \fBCONFIG_NET_NS\fP が有効になっていなかった。
+.TP 
+\fBEINVAL\fP
+\fIflags\fP に \fBCLONE_NEWPID\fP が指定されたが、カーネルでオプション \fBCONFIG_PID_NS\fP が有効になっていなかった。
+.TP 
+\fBEINVAL\fP
+\fIflags\fP に \fBCLONE_NEWUSER\fP が指定されたが、カーネルでオプション \fBCONFIG_USER_NS\fP
+が有効になっていなかった。
+.TP 
+\fBEINVAL\fP
+\fIflags\fP に \fBCLONE_NEWUTS\fP が指定されたが、カーネルでオプション \fBCONFIG_UTS_NS\fP が有効になっていなかった。
+.TP 
+\fBEINVAL\fP
+\fBCLONE_NEWPID\fP was specified in \fIflags\fP, but the process has previously
+called \fBunshare\fP()  with the \fBCLONE_NEWPID\fP flag.
+.TP 
+\fBENOMEM\fP
+呼び出し元のコンテキストのうち共有を解除する必要がある部分をコピーするために、 十分なメモリーが確保できなかった。
+.TP 
+\fBENOSPC\fP (Linux 3.7 以降)
+.\" commit f2302505775fd13ba93f034206f1e2a587017929
+\fBCLONE_NEWPID\fP was specified in flags, but the limit on the nesting depth
+of PID namespaces would have been exceeded; see \fBpid_namespaces\fP(7).
+.TP 
+\fBENOSPC\fP (Linux 4.9 以降; 以前は \fBEUSERS\fP)
+\fBCLONE_NEWUSER\fP が \fIflags\fP に指定されており、 この呼び出しによりネストされたユーザー名前空間数の上限を超えてしまう。
+\fBuser_namespaces\fP(7) を参照。
+.IP
+From Linux 3.11 to Linux 4.8, the error diagnosed in this case was
+\fBEUSERS\fP.
+.TP 
+\fBENOSPC\fP (Linux 4.9 以降)
+One of the values in \fIflags\fP specified the creation of a new user
+namespace, but doing so would have caused the limit defined by the
+corresponding file in \fI/proc/sys/user\fP to be exceeded.  For further
+details, see \fBnamespaces\fP(7).
+.TP 
+\fBEPERM\fP
+呼び出し元プロセスはこの操作を行うのに必要な特権を持っていなかった。
+.TP 
+\fBEPERM\fP
+\fBCLONE_NEWUSER\fP が \fIflags\fP に指定されたが、 呼び出し元の実効ユーザー ID もしくは実効グループ ID
+が親名前空間にマッピングがない (\fBuser_namespaces\fP(7) 参照)。
+.TP 
+\fBEPERM\fP (Linux 3.9 以降)
+.\" commit 3151527ee007b73a0ebd296010f1c0454a919c7d
+.\" FIXME What is the rationale for this restriction?
+\fBCLONE_NEWUSER\fP が \fIflags\fP に指定され、 呼び出し元が chroot された環境にいる (すなわち、呼び出し元の root
+ディレクトリが呼び出し元が属するマウント名前空間の root ディレクトリに一致しない)。
+.TP 
+ \fBEUSERS\fP (from Linux 3.11 to Linux 4.8)
+\fBCLONE_NEWUSER\fP was specified in \fIflags\fP, and the limit on the number of
+nested user namespaces would be exceeded.  See the discussion of the
+\fBENOSPC\fP error above.
+.SH バージョン
+\fBunshare\fP()  システムコールは Linux カーネル 2.6.16 で追加された。
+.SH 準拠
+\fBunshare\fP()  システムコールは Linux 固有である。
+.SH 注意
+.\" 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
+.\" 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
+.\"
+.\"9) Future Work
+.\"--------------
+.\"The current implementation of unshare does not allow unsharing of
+.\"signals and signal handlers. Signals are complex to begin with and
+.\"to unshare signals and/or signal handlers of a currently running
+.\"process is even more complex. If in the future there is a specific
+.\"need to allow unsharing of signals and/or signal handlers, it can
+.\"be incrementally added to unshare without affecting legacy
+.\"applications using unshare.
+.\"
+\fBclone\fP(2)  で新しいプロセスを生成したときに共有される全てのプロセス属性を、 \fBunshare\fP()
+によって共有の解除ができるわけではない。 特に、カーネル 3.8 時点では、 \fBunshare\fP()  に \fBCLONE_SIGHAND\fP,
+\fBCLONE_THREAD\fP, \fBCLONE_VM\fP の効果を取り消すためのフラグが実装されていない。
+これらの機能は、必要であれば将来追加されるかもしれない。
+.SH 例
+以下のプログラムは \fBunshare\fP(1) コマンドの簡単な実装である。 このコマンドは、1 つ以上の名前空間の unshare を行ってから、
+コマンドライン引き数で指定されたコマンドを実行する。 以下はこのプログラムの使用例である。 新しいマウント名前空間でシェルを実行し、
+元のシェルと新しいシェルが別のマウント名前空間にいることを確認している。
+.PP
+.in +4n
+.EX
+$ \fBreadlink /proc/$$/ns/mnt\fP
+mnt:[4026531840]
+$ \fBsudo ./unshare \-m /bin/bash\fP
+# \fBreadlink /proc/$$/ns/mnt\fP
+mnt:[4026532325]
+.EE
+.in
+.PP
+2 つの \fBreadlink\fP(1) コマンドの出力が違うことから、 2 つのシェルは異なるマウント名前空間にいることが分かる。
+.SS プログラムのソース
+\&
+.EX
+/* unshare.c
+
+   A simple implementation of the unshare(1) command: unshare
+   namespaces and execute a command.
+*/
+#define _GNU_SOURCE
+#include <sched.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+/* A simple error\-handling function: print an error message based
+   on the value in \(aqerrno\(aq and terminate the calling process */
+
+#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \e
+                        } while (0)
+
+static void
+usage(char *pname)
+{
+    fprintf(stderr, "Usage: %s [options] program [arg...]\en", pname);
+    fprintf(stderr, "Options can be:\en");
+    fprintf(stderr, "    \-C   unshare cgroup namespace\en");
+    fprintf(stderr, "    \-i   unshare IPC namespace\en");
+    fprintf(stderr, "    \-m   unshare mount namespace\en");
+    fprintf(stderr, "    \-n   unshare network namespace\en");
+    fprintf(stderr, "    \-p   unshare PID namespace\en");
+    fprintf(stderr, "    \-t   unshare time namespace\en");
+    fprintf(stderr, "    \-u   unshare UTS namespace\en");
+    fprintf(stderr, "    \-U   unshare user namespace\en");
+    exit(EXIT_FAILURE);
+}
+
+int
+main(int argc, char *argv[])
+{
+    int flags, opt;
+
+    flags = 0;
+
+    while ((opt = getopt(argc, argv, "CimnptuU")) != \-1) {
+        switch (opt) {
+        case \(aqC\(aq: flags |= CLONE_NEWCGROUP;      break;
+        case \(aqi\(aq: flags |= CLONE_NEWIPC;        break;
+        case \(aqm\(aq: flags |= CLONE_NEWNS;         break;
+        case \(aqn\(aq: flags |= CLONE_NEWNET;        break;
+        case \(aqp\(aq: flags |= CLONE_NEWPID;        break;
+        case \(aqt\(aq: flags |= CLONE_NEWTIME;        break;
+        case \(aqu\(aq: flags |= CLONE_NEWUTS;        break;
+        case \(aqU\(aq: flags |= CLONE_NEWUSER;       break;
+        default:  usage(argv[0]);
+        }
+    }
+
+    if (optind >= argc)
+        usage(argv[0]);
+
+    if (unshare(flags) == \-1)
+        errExit("unshare");
+
+    execvp(argv[optind], &argv[optind]);
+    errExit("execvp");
+}
+.EE
+.SH 関連項目
+\fBunshare\fP(1), \fBclone\fP(2), \fBfork\fP(2), \fBkcmp\fP(2), \fBsetns\fP(2),
+\fBvfork\fP(2), \fBnamespaces\fP(7)
+.PP
+.\" commit f504d47be5e8fa7ecf2bf660b18b42e6960c0eb2
+Linux カーネルソース内の \fIDocumentation/userspace\-api/unshare.rst\fP (Linux 4.12 より前では
+\fIDocumentation/unshare.txt\fP)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 99f2766..34f7095 100644 (file)
@@ -87,9 +87,8 @@ CPU_EQUAL_S \- CPU 集合を操作するためのマクロ
 \fIcpu_set_t\fP データ構造体は CPU 集合を表現している。 CPU 集合は \fBsched_setaffinity\fP(2)
 や同様のインターフェースで使用されている。
 .PP
-The \fIcpu_set_t\fP data type is implemented as a bit mask.  However, the data
-structure should be treated as opaque: all manipulation of CPU sets should
-be done via the macros described in this page.
+\fIcpu_set_t\fP データ型はビットマスクとして実装されている。 しかし、 データ構造体はその実装を意識せずに扱うべきであり、 CPU
+集合のすべての操作は、 このページで説明されているマクロを通して行うべきである。
 .PP
 以下のマクロが CPU 集合 \fIset\fP を操作するために提供されている。
 .TP 
@@ -159,8 +158,8 @@ greater than the maximum CPU number that can be stored in \fIcpu_set_t\fP.
 .PP
 \fBCPU_COUNT\fP() と \fBCPU_COUNT_S\fP() は \fIset\fP に含まれる CPU 数を返す。
 .PP
-\fBCPU_EQUAL\fP()  and \fBCPU_EQUAL_S\fP()  return nonzero if the two CPU sets are
-equal; otherwise they return 0.
+\fBCPU_EQUAL\fP() と \fBCPU_EQUAL_S\fP() は、 二つの CPU 集合が等しければ 0 以外を返し、 等しくない場合 0
+を返す。
 .PP
 \fBCPU_ALLOC\fP() は成功するとポインターを返し、 失敗すると NULL を返す (エラーは \fBmalloc\fP(3) と同じである)。
 .PP
@@ -182,15 +181,13 @@ equal; otherwise they return 0.
 .SH 注意
 CPU 集合を複製するには、 \fBmemcpy\fP(3) を使用する。
 .PP
-Since CPU sets are bit masks 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 \fIsizeof(unsigned long)\fP.  An application should consider
-the contents of these extra bits to be undefined.
+CPU 集合はロングワード単位に割り当てられるビットマスクなので、 動的に割り当てられた CPU 集合の実際の CPU 数は
+\fIsizeof(unsigned long)\fP の次の倍数に切り上げられることになる。 アプリケーションは、
+これらの余分なビットの内容は不定と考えるべきである。
 .PP
-Notwithstanding the similarity in the names, note that the constant
-\fBCPU_SETSIZE\fP indicates the number of CPUs in the \fIcpu_set_t\fP data type
-(thus, it is effectively a count of the bits in the bit mask), while the
-\fIsetsize\fP argument of the \fBCPU_*_S\fP()  macros is a size in bytes.
+名前は似ているが、 定数 \fBCPU_SETSIZE\fP は \fIcpu_set_t\fP データ型に含まれる CPU 数
+(つまり、事実上ビットマスク内のビットカウント) を示すのに対して、 マクロ \fBCPU_*_S\fP() の \fIsetsize\fP
+引き数はバイト単位のサイズである点に注意すること。
 .PP
 「書式」に書かれている引き数と返り値のデータ型は、それぞれの場合でどんな型が期待されるかのヒントである。 しかしながら、
 これらのインターフェースはマクロとして実装されているため、 このヒントを守らなかった場合に、
@@ -201,7 +198,7 @@ glibc 2.8 以前の 32 ビットプラットフォームでは、 \fBCPU_ALLOC\f
 \fBCPU_ALLOC_SIZE\fP() は本来あるべき値の二倍の値を返す。 このバグはプログラムの動作には影響を与えないはずだが、
 無駄にメモリーを消費し、 動的に割り当てられた CPU 集合に対して操作を行うマクロの動作の効率が下がる結果となる。 これらのバグは glibc 2.9
 で修正された。
-.SH EXAMPLES
+.SH 
 以下のプログラムは、動的に割り当てた CPU 集合に対していくつかのマクロを使用する例を示している。
 .PP
 .EX
index ef76c90..b0eb101 100644 (file)
@@ -34,7 +34,7 @@
 .\" Translated 2008-08-21, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.04
 .\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH SCHED_GETCPU 3 2017\-09\-15 Linux "Linux Programmer's Manual"
+.TH SCHED_GETCPU 3 " 2017\-09\-15" Linux "Linux Programmer's Manual"
 .SH 名前
 sched_getcpu \- 呼び出したスレッドが実行されている CPU を知る
 .SH 書式
index c9b2107..74a6041 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2021-03-12 14:00+0900\n"
-"PO-Revision-Date: 2021-03-26 13:49+0900\n"
+"PO-Revision-Date: 2021-04-07 23:45+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -26,7 +26,7 @@ msgstr "CPU_SET"
 #: build/C/man2/sched_setaffinity.2:34 build/C/man2/sched_setattr.2:26
 #, no-wrap
 msgid "2020-11-01"
-msgstr ""
+msgstr "2020-11-01"
 
 #. type: TH
 #: build/C/man3/CPU_SET.3:27 build/C/man2/clone.2:42 build/C/man2/kcmp.2:28
@@ -226,19 +226,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:93
-#, fuzzy
-#| msgid ""
-#| "The I<cpu_set_t> data type is implemented as a bit set.  However, the "
-#| "data structure treated as considered opaque: all manipulation of CPU sets "
-#| "should be done via the macros described in this page."
 msgid ""
 "The I<cpu_set_t> data type is implemented as a bit mask.  However, the data "
 "structure should be treated as opaque: all manipulation of CPU sets should "
 "be done via the macros described in this page."
-msgstr ""
-"I<cpu_set_t> データ型はビット集合として実装されている。 しかし、 データ構造体"
-"はその実装を意識せずに扱うものとされており、 CPU 集合のすべての操作は、 この"
-"ページで説明されているマクロを通して行うべきである。"
+msgstr "I<cpu_set_t> データ型はビットマスクとして実装されている。 しかし、 データ構造体はその実装を意識せずに扱うべきであり、 CPU 集合のすべての操作は、 このページで説明されているマクロを通して行うべきである。"
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:96
@@ -498,10 +490,6 @@ msgstr "B<CPU_COUNT>() と B<CPU_COUNT_S>() は I<set> に含まれる CPU 数
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:233
-#, fuzzy
-#| msgid ""
-#| "B<CPU_EQUAL>()  and B<CPU_EQUAL_S>()  return nonzero if the two CPU sets "
-#| "are equal; otherwise it returns 0."
 msgid ""
 "B<CPU_EQUAL>()  and B<CPU_EQUAL_S>()  return nonzero if the two CPU sets are "
 "equal; otherwise they return 0."
@@ -601,41 +589,21 @@ msgstr "CPU 集合を複製するには、 B<memcpy>(3) を使用する。"
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:285
-#, fuzzy
-#| msgid ""
-#| "Since CPU sets are bit sets allocated in units of long words, the actual "
-#| "number of CPUs in a dynamically allocated CPU set will be rounded up to "
-#| "the next multiple of I<sizeof(unsigned long)>.  An application should "
-#| "consider the contents of these extra bits to be undefined."
 msgid ""
 "Since CPU sets are bit masks allocated in units of long words, the actual "
 "number of CPUs in a dynamically allocated CPU set will be rounded up to the "
 "next multiple of I<sizeof(unsigned long)>.  An application should consider "
 "the contents of these extra bits to be undefined."
-msgstr ""
-"CPU 集合はロングワード単位に割り当てられるビット集合なので、 動的に割り当てら"
-"れた CPU 集合の実際の CPU 数は I<sizeof(unsigned long)> の次の倍数に切り上げ"
-"られることになる。 アプリケーションは、 これらの余分なビットの内容は不定と考"
-"えるべきである。"
+msgstr "CPU 集合はロングワード単位に割り当てられるビットマスクなので、 動的に割り当てられた CPU 集合の実際の CPU 数は I<sizeof(unsigned long)> の次の倍数に切り上げられることになる。 アプリケーションは、 これらの余分なビットの内容は不定と考えるべきである。"
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:297
-#, fuzzy
-#| msgid ""
-#| "Notwithstanding the similarity in the names, note that the constant "
-#| "B<CPU_SETSIZE> indicates the number of CPUs in the I<cpu_set_t> data type "
-#| "(thus, it is effectively a count of bits in the bit set), while the "
-#| "I<setsize> argument of the B<CPU_*_S>()  macros is a size in bytes."
 msgid ""
 "Notwithstanding the similarity in the names, note that the constant "
 "B<CPU_SETSIZE> indicates the number of CPUs in the I<cpu_set_t> data type "
 "(thus, it is effectively a count of the bits in the bit mask), while the "
 "I<setsize> argument of the B<CPU_*_S>()  macros is a size in bytes."
-msgstr ""
-"名前は似ているが、 定数 B<CPU_SETSIZE> は I<cpu_set_t> データ型に含まれる "
-"CPU 数 (つまり、事実上ビット集合内のビットカウント) を示すのに対して、 マク"
-"ロ B<CPU_*_S>() の I<setsize> 引き数はバイト単位のサイズである点に注意するこ"
-"と。"
+msgstr "名前は似ているが、 定数 B<CPU_SETSIZE> は I<cpu_set_t> データ型に含まれる CPU 数 (つまり、事実上ビットマスク内のビットカウント) を示すのに対して、 マクロ B<CPU_*_S>() の I<setsize> 引き数はバイト単位のサイズである点に注意すること。"
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:303
@@ -678,8 +646,7 @@ msgstr ""
 #: build/C/man3/CPU_SET.3:315 build/C/man2/clone.2:1780 build/C/man2/kcmp.2:322
 #: build/C/man2/sched_setaffinity.2:306 build/C/man2/setns.2:324
 #: build/C/man2/unshare.2:463
-#, fuzzy, no-wrap
-#| msgid "EXAMPLE"
+#, no-wrap
 msgid "EXAMPLES"
 msgstr "例"
 
@@ -712,14 +679,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:333
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int\n"
-#| "main(int argc, char *argv[])\n"
-#| "{\n"
-#| "    cpu_set_t *cpusetp;\n"
-#| "    size_t size;\n"
-#| "    int num_cpus, cpu;\n"
+#, no-wrap
 msgid ""
 "int\n"
 "main(int argc, char *argv[])\n"
@@ -733,7 +693,7 @@ msgstr ""
 "{\n"
 "    cpu_set_t *cpusetp;\n"
 "    size_t size;\n"
-"    int num_cpus, cpu;\n"
+"    int num_cpus;\n"
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:338
@@ -779,18 +739,14 @@ msgstr "    size = CPU_ALLOC_SIZE(num_cpus);\n"
 
 #. type: Plain text
 #: build/C/man3/CPU_SET.3:352
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    CPU_ZERO_S(size, cpusetp);\n"
-#| "    for (cpu = 0; cpu E<lt> num_cpus; cpu += 2)\n"
-#| "        CPU_SET_S(cpu, size, cpusetp);\n"
+#, no-wrap
 msgid ""
 "    CPU_ZERO_S(size, cpusetp);\n"
 "    for (int cpu = 0; cpu E<lt> num_cpus; cpu += 2)\n"
 "        CPU_SET_S(cpu, size, cpusetp);\n"
 msgstr ""
 "    CPU_ZERO_S(size, cpusetp);\n"
-"    for (cpu = 0; cpu E<lt> num_cpus; cpu += 2)\n"
+"    for (int cpu = 0; cpu E<lt> num_cpus; cpu += 2)\n"
 "        CPU_SET_S(cpu, size, cpusetp);\n"
 
 #. type: Plain text
@@ -867,10 +823,8 @@ msgstr "CLONE"
 
 #. type: Plain text
 #: build/C/man2/clone.2:45
-#, fuzzy
-#| msgid "clone, __clone2 - create a child process"
 msgid "clone, __clone2, clone3 - create a child process"
-msgstr "clone, __clone2 - 子プロセスを作成する"
+msgstr "clone, __clone2, clone3 - 子プロセスを作成する"
 
 #. type: Plain text
 #: build/C/man2/clone.2:48
@@ -880,59 +834,47 @@ msgstr "/* glibc ラッパー関数のプロトタイプ */\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:51 build/C/man2/unshare.2:27
-#, fuzzy, no-wrap
-#| msgid "B<#include E<lt>sched.hE<gt>>\n"
+#, no-wrap
 msgid ""
 "B<#define _GNU_SOURCE>\n"
 "B<#include E<lt>sched.hE<gt>>\n"
-msgstr "B<#include E<lt>sched.hE<gt>>\n"
+msgstr ""
+"B<#define _GNU_SOURCE>\n"
+"B<#include E<lt>sched.hE<gt>>\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:56
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int clone(int (*>I<fn>B<)(void *), void *>I<child_stack>B<,>\n"
-#| "B<          int >I<flags>B<, void *>I<arg>B<, ... >\n"
-#| "B<          /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
+#, no-wrap
 msgid ""
 "B<int clone(int (*>I<fn>B<)(void *), void *>I<stack>B<, int >I<flags>B<, void *>I<arg>B<, ...>\n"
 "B<          /* pid_t *>I<parent_tid>B<, void *>I<tls>B<, pid_t *>I<child_tid>B< */ );>\n"
 msgstr ""
-"B<int clone(int (*>I<fn>B<)(void *), void *>I<child_stack>B<,>\n"
-"B<          int >I<flags>B<, void *>I<arg>B<, ... >\n"
-"B<          /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
+"B<int clone(int (*>I<fn>B<)(void *), void *>I<stack>B<, int >I<flags>B<, void *>I<arg>B<, ...>\n"
+"B<          /* pid_t *>I<parent_tid>B<, void *>I<tls>B<, pid_t *>I<child_tid>B< */ );>\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:58
-#, fuzzy, no-wrap
-#| msgid "/* Prototype for the raw system call */\n"
+#, no-wrap
 msgid "/* For the prototype of the raw clone() system call, see NOTES */\n"
-msgstr "/* ç´ ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81®ã\83\97ã\83­ã\83\88ã\82¿ã\82¤ã\83\97 */\n"
+msgstr "/* ç\94\9fã\81® clone() ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81®ã\83\97ã\83­ã\83\88ã\82¿ã\82¤ã\83\97ã\81«ã\81¤ã\81\84ã\81¦ã\81¯ã\80\8c注æ\84\8fã\80\8dã\81®ç¯\80ã\82\92å\8f\82ç\85§ */\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:60
 #, no-wrap
 msgid "B<long clone3(struct clone_args *>I<cl_args>B<, size_t >I<size>B<);>\n"
-msgstr ""
+msgstr "B<long clone3(struct clone_args *>I<cl_args>B<, size_t >I<size>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:66
-#, fuzzy
-#| msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
 msgid "I<Note>: There is not yet a glibc wrapper for B<clone3>(); see NOTES."
-msgstr ""
-"I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
-"を参照。"
+msgstr "I<注>: B<clone3>() に対する glibc のラッパー関数は存在しない。「注意」を参照。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:70
-#, fuzzy
-#| msgid ""
-#| "B<clone>()  creates a new process, in a manner similar to B<fork>(2)."
 msgid ""
 "These system calls create a new (\"child\") process, in a manner similar to "
 "B<fork>(2)."
-msgstr "B<clone>() は、 B<fork>(2) と似た方法で新しいプロセスを作成する。"
+msgstr "これらのシステムコールは、 B<fork>(2) と似た方法で新しい (「子」) プロセスを作成する。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:81
@@ -956,10 +898,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:91
-#, fuzzy
-#| msgid "The I<timespec> structure has the following form:"
 msgid "This page describes the following interfaces:"
-msgstr "I<timespec> 構造体は以下の通りである:"
+msgstr "このページでは以下のインターフェースについて説明する。"
 
 #. type: IP
 #: build/C/man2/clone.2:91 build/C/man2/clone.2:98 build/C/man2/clone.2:565
@@ -976,28 +916,17 @@ msgstr "*"
 
 #. type: Plain text
 #: build/C/man2/clone.2:98
-#, fuzzy
-#| msgid ""
-#| "This page describes both the glibc B<clone>()  wrapper function and the "
-#| "underlying system call on which it is based.  The main text describes the "
-#| "wrapper function; the differences for the raw system call are described "
-#| "toward the end of this page."
 msgid ""
 "The glibc B<clone>()  wrapper function and the underlying system call on "
 "which it is based.  The main text describes the wrapper function; the "
 "differences for the raw system call are described toward the end of this "
 "page."
-msgstr ""
-"このページでは、 glibc の B<clone>() ラッパー関数とその裏で呼ばれるシステム"
-"コールの両方について説明している。 メインの説明はラッパー関数に関するものであ"
-"る。 素のシステムコールにおける差分はこのページの最後の方で説明する。"
+msgstr "glibc の B<clone>() ラッパー関数とその裏で呼ばれるシステムコール。メインの説明はラッパー関数に関するものである。素のシステムコールにおける差分はこのページの最後の方で説明する。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:102
-#, fuzzy
-#| msgid "The B<unshare>()  system call is Linux-specific."
 msgid "The newer B<clone3>()  system call."
-msgstr "B<unshare>()  システムコールは Linux 固有である。"
+msgstr "新しい B<clone3>() システムコール。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:106
@@ -1010,62 +939,29 @@ msgstr ""
 #: build/C/man2/clone.2:106
 #, no-wrap
 msgid "The clone() wrapper function"
-msgstr ""
+msgstr "clone() ラッパー関数"
 
 #. type: Plain text
 #: build/C/man2/clone.2:122
-#, fuzzy
-#| msgid ""
-#| "When the child process is created with B<clone>(), it executes the "
-#| "function I<fn>(I<arg>).  (This differs from B<fork>(2), where execution "
-#| "continues in the child from the point of the B<fork>(2)  call.)  The "
-#| "I<fn> argument is a pointer to a function that is called by the child "
-#| "process at the beginning of its execution.  The I<arg> argument is passed "
-#| "to the I<fn> function."
 msgid ""
 "When the child process is created with the B<clone>()  wrapper function, it "
 "commences execution by calling the function pointed to by the argument "
 "I<fn>.  (This differs from B<fork>(2), where execution continues in the "
 "child from the point of the B<fork>(2)  call.)  The I<arg> argument is "
 "passed as the argument of the function I<fn>."
-msgstr ""
-"B<clone>()  で子プロセスが作成された時に、作成された子プロセスは関数 "
-"I<fn>(I<arg>)  を実行する。 (この点が B<fork>(2)  とは異なる。 B<fork>(2)  の"
-"場合、子プロセスは B<fork>(2)  が呼び出された場所から実行を続ける。)  I<fn> "
-"引き数は、子プロセスが実行を始める時に子プロセスが呼び出す 関数へのポインター"
-"である。 I<arg> 引き数はそのまま I<fn> 関数へと渡される。"
+msgstr "B<clone>() ラッパー関数で子プロセスが作成された時に、引き数 I<fn> が指す関数を呼び出して実行を開始する (この点が B<fork>(2) とは異なり、 B<fork>(2) の場合、子プロセスは B<fork>(2) が呼び出された場所から実行を続ける)。 I<arg> 引き数は、関数 I<fn> の引き数として渡される。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:132
-#, fuzzy
-#| msgid ""
-#| "When the I<fn>(I<arg>)  function application returns, the child process "
-#| "terminates.  The integer returned by I<fn> is the exit code for the child "
-#| "process.  The child process may also terminate explicitly by calling "
-#| "B<exit>(2)  or after receiving a fatal signal."
 msgid ""
 "When the I<fn>(I<arg>)  function returns, the child process terminates.  The "
 "integer returned by I<fn> is the exit status for the child process.  The "
 "child process may also terminate explicitly by calling B<exit>(2)  or after "
 "receiving a fatal signal."
-msgstr ""
-"I<fn>(I<arg>)  関数が終了すると、子プロセスは終了する。 I<fn> によって返され"
-"た整数が子プロセスの終了コードとなる。 子プロセスは、 B<exit>(2)  を呼んで明"
-"示的に終了することもあるし、致命的なシグナルを受信した 場合に終了することもあ"
-"る。"
+msgstr "I<fn>(I<arg>) 関数が終了すると、子プロセスは終了する。 I<fn> によって返された整数が子プロセスの終了ステータスとなる。 子プロセスは、 B<exit>(2)  を呼んで明示的に終了することもあるし、致命的なシグナルを受信した 場合に終了することもある。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:152
-#, fuzzy
-#| msgid ""
-#| "The I<child_stack> argument specifies the location of the stack used by "
-#| "the child process.  Since the child and calling process may share memory, "
-#| "it is not possible for the child process to execute in the same stack as "
-#| "the calling process.  The calling process must therefore set up memory "
-#| "space for the child stack and pass a pointer to this space to "
-#| "B<clone>().  Stacks grow downward on all processors that run Linux "
-#| "(except the HP PA processors), so I<child_stack> usually points to the "
-#| "topmost address of the memory space set up for the child stack."
 msgid ""
 "The I<stack> argument specifies the location of the stack used by the child "
 "process.  Since the child and calling process may share memory, it is not "
@@ -1076,15 +972,7 @@ msgid ""
 "I<stack> usually points to the topmost address of the memory space set up "
 "for the child stack.  Note that B<clone>()  does not provide a means whereby "
 "the caller can inform the kernel of the size of the stack area."
-msgstr ""
-"I<child_stack> 引き数は、子プロセスによって使用されるスタックの位置を指定す"
-"る。 子プロセスと呼び出し元のプロセスはメモリーを共有することがあるため、 子"
-"プロセスは呼び出し元のプロセスと同じスタックで実行することができない。 このた"
-"め、呼び出し元のプロセスは子プロセスのスタックのためのメモリー空間を 用意し"
-"て、この空間へのポインターを B<clone>()  へ渡さなければならない。 (HP PA プロ"
-"セッサ以外の) Linux が動作する全てのプロセッサでは、 スタックは下方 (アドレス"
-"が小さい方向) へと伸びる。このため、普通は I<child_stack> は子プロセスのス"
-"タックのために用意したメモリー空間の一番大きい アドレスを指すようにする。"
+msgstr "I<stack> 引き数は、子プロセスによって使用されるスタックの位置を指定する。 子プロセスと呼び出し元のプロセスはメモリーを共有することがあるため、 子プロセスは呼び出し元のプロセスと同じスタックで実行することができない。 このため、呼び出し元のプロセスは子プロセスのスタックのためのメモリー空間を 用意して、この空間へのポインターを B<clone>() へ渡さなければならない。 (HP PA プロセッサ以外の) Linux が動作する全てのプロセッサでは、 スタックは下方 (アドレスが小さい方向) へと伸びる。このため、普通は I<stack> は子プロセスのスタックのために用意したメモリー空間の一番大きい アドレスを指すようにする。 B<clone>() は呼び出し元がカーネルにスタック領域のサイズをカーネルに知らせる方法を提供していない点に注意すること。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:157
@@ -1093,10 +981,9 @@ msgstr ""
 
 #. type: tbl table
 #: build/C/man2/clone.2:157 build/C/man2/clone.2:258
-#, fuzzy, no-wrap
-#| msgid "B<clone>():"
+#, no-wrap
 msgid "clone3()"
-msgstr "B<clone>():"
+msgstr "clone3()"
 
 #. type: Plain text
 #: build/C/man2/clone.2:167
@@ -1118,11 +1005,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:180
-#, fuzzy
-#| msgid "The I<timespec> structure has the following form:"
 msgid ""
 "The I<cl_args> argument of B<clone3>()  is a structure of the following form:"
-msgstr "I<timespec> 構造体は以下の通りである:"
+msgstr "B<clone3>() の I<cl_args> 引き数は、以下の形式の構造体である。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:203
@@ -1200,34 +1085,33 @@ msgstr ""
 
 #. type: tbl table
 #: build/C/man2/clone.2:258
-#, fuzzy, no-wrap
-#| msgid "B<clone>():"
+#, no-wrap
 msgid "clone()"
-msgstr "B<clone>():"
+msgstr "clone()"
 
 #. type: tbl table
 #: build/C/man2/clone.2:258 build/C/man2/clone.2:332
 #, no-wrap
 msgid "Notes"
-msgstr ""
+msgstr "備考"
 
 #. type: tbl table
 #: build/C/man2/clone.2:259
 #, no-wrap
 msgid "I<cl_args> field"
-msgstr ""
+msgstr "I<cl_args> フィールド"
 
 #. type: tbl table
 #: build/C/man2/clone.2:260
 #, no-wrap
 msgid "flags & \\(ti0xff"
-msgstr ""
+msgstr "flags & \\(ti0xff"
 
 #. type: tbl table
 #: build/C/man2/clone.2:260
 #, no-wrap
 msgid "flags"
-msgstr ""
+msgstr "flags"
 
 #. type: tbl table
 #: build/C/man2/clone.2:260
@@ -1239,110 +1123,110 @@ msgstr ""
 #: build/C/man2/clone.2:261 build/C/man2/clone.2:263
 #, no-wrap
 msgid "parent_tid"
-msgstr ""
+msgstr "parent_tid"
 
 #. type: tbl table
 #: build/C/man2/clone.2:261
 #, no-wrap
 msgid "pidfd"
-msgstr ""
+msgstr "pidfd"
 
 #. type: tbl table
 #: build/C/man2/clone.2:261
 #, no-wrap
 msgid "See CLONE_PIDFD"
-msgstr ""
+msgstr "CLONE_PIDFD 参照"
 
 #. type: tbl table
 #: build/C/man2/clone.2:262
 #, no-wrap
 msgid "child_tid"
-msgstr ""
+msgstr "child_tid"
 
 #. type: tbl table
 #: build/C/man2/clone.2:262
 #, no-wrap
 msgid "See CLONE_CHILD_SETTID"
-msgstr ""
+msgstr "CLONE_CHILD_SETTID 参照"
 
 #. type: tbl table
 #: build/C/man2/clone.2:263
 #, no-wrap
 msgid "See CLONE_PARENT_SETTID"
-msgstr ""
+msgstr "CLONE_PARENT_SETTID 参照"
 
 #. type: tbl table
 #: build/C/man2/clone.2:264
 #, no-wrap
 msgid "flags & 0xff"
-msgstr ""
+msgstr "flags & 0xff"
 
 #. type: tbl table
 #: build/C/man2/clone.2:264
 #, no-wrap
 msgid "exit_signal"
-msgstr ""
+msgstr "exit_signal"
 
 #. type: tbl table
 #: build/C/man2/clone.2:265
 #, no-wrap
 msgid "stack"
-msgstr ""
+msgstr "stack"
 
 #. type: tbl table
 #: build/C/man2/clone.2:266 build/C/man2/clone.2:268 build/C/man2/clone.2:269
 #: build/C/man2/clone.2:270
 #, no-wrap
 msgid "I<--->"
-msgstr ""
+msgstr "I<--->"
 
 #. type: tbl table
 #: build/C/man2/clone.2:266
 #, no-wrap
 msgid "stack_size"
-msgstr ""
+msgstr "stack_size"
 
 #. type: tbl table
 #: build/C/man2/clone.2:267
 #, no-wrap
 msgid "tls"
-msgstr ""
+msgstr "tls"
 
 #. type: tbl table
 #: build/C/man2/clone.2:267
 #, no-wrap
 msgid "See CLONE_SETTLS"
-msgstr ""
+msgstr "CLONE_SETTLS 参照"
 
 #. type: tbl table
 #: build/C/man2/clone.2:268
 #, no-wrap
 msgid "set_tid"
-msgstr ""
+msgstr "set_tid"
 
 #. type: tbl table
 #: build/C/man2/clone.2:268
 #, no-wrap
 msgid "See below for details"
-msgstr ""
+msgstr "詳細は下記を参照"
 
 #. type: tbl table
 #: build/C/man2/clone.2:269
 #, no-wrap
 msgid "set_tid_size"
-msgstr ""
+msgstr "set_tid_size"
 
 #. type: tbl table
 #: build/C/man2/clone.2:270
 #, no-wrap
 msgid "cgroup"
-msgstr ""
+msgstr "cgroup"
 
 #. type: tbl table
 #: build/C/man2/clone.2:270
 #, no-wrap
 msgid "See CLONE_INTO_CGROUP"
-msgstr ""
+msgstr "CLONE_INTO_CGROUP 参照"
 
 #. type: SS
 #: build/C/man2/clone.2:274
@@ -1352,14 +1236,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:293
-#, fuzzy
-#| msgid ""
-#| "The low byte of I<flags> contains the number of the I<termination signal> "
-#| "sent to the parent when the child dies.  If this signal is specified as "
-#| "anything other than B<SIGCHLD>, then the parent process must specify the "
-#| "B<__WALL> or B<__WCLONE> options when waiting for the child with "
-#| "B<wait>(2).  If no signal is specified, then the parent process is not "
-#| "signaled when the child terminates."
 msgid ""
 "When the child process terminates, a signal may be sent to the parent.  The "
 "termination signal is specified in the low byte of I<flags> (B<clone>())  or "
@@ -1369,12 +1245,8 @@ msgid ""
 "B<wait>(2).  If no signal (i.e., zero) is specified, then the parent process "
 "is not signaled when the child terminates."
 msgstr ""
-"I<flags> の下位 1 バイトは子プロセスが死んだ場合に親プロセスへと送られる I<終"
-"了シグナル (termination signal)> の番号を指定する。このシグナルとして "
-"B<SIGCHLD> 以外が指定された場合、親プロセスは、 B<wait>(2)  で子プロセスを待"
-"つ際に、オプションとして B<__WALL> または B<__WCLONE> を指定しなければならな"
-"い。 どのシグナルも指定されなかった場合、子プロセスが終了した時に親プロセス "
-"にシグナルは送られない。"
+"子プロセスが終了した場合、シグナルが親プロセスに送信される。終了シグナル (termination signal) は (B<clone>() の) I<flags> の下位 1 バイトまたは (B<clone3>() の) I<cl_args.exit_signal> で指定される。\n"
+"このシグナルとして B<SIGCHLD> 以外が指定された場合、親プロセスは、 B<wait>(2) で子プロセスを待つ際に、オプションとして B<__WALL> または B<__WCLONE> を指定しなければならない。どのシグナルも指定されなかった場合 (つまり 0 が指定された場合)、子プロセスが終了した時に親プロセスにシグナルは送られない。"
 
 #. type: SS
 #: build/C/man2/clone.2:293
@@ -1436,14 +1308,13 @@ msgstr "0"
 #: build/C/man2/clone.2:333
 #, no-wrap
 msgid "31496"
-msgstr ""
+msgstr "31496"
 
 #. type: tbl table
 #: build/C/man2/clone.2:333
-#, fuzzy, no-wrap
-#| msgid "I<fd> must refer to a descendant PID namespace."
+#, no-wrap
 msgid "Outermost PID namespace"
-msgstr "I<fd> は子孫の PID 名前空間を参照していなければならない。"
+msgstr ""
 
 #. type: IP
 #: build/C/man2/clone.2:334 build/C/man2/kcmp.2:228
@@ -1453,10 +1324,9 @@ msgstr "1"
 
 #. type: tbl table
 #: build/C/man2/clone.2:334
-#, fuzzy, no-wrap
-#| msgid "2"
+#, no-wrap
 msgid "42"
-msgstr "2"
+msgstr "42"
 
 #. type: IP
 #: build/C/man2/clone.2:335 build/C/man2/kcmp.2:232
@@ -1468,7 +1338,7 @@ msgstr "2"
 #: build/C/man2/clone.2:335
 #, no-wrap
 msgid "7"
-msgstr ""
+msgstr "7"
 
 #. type: tbl table
 #: build/C/man2/clone.2:335
@@ -1490,6 +1360,10 @@ msgid ""
 "set_tid[2] = 31496;\n"
 "set_tid_size = 3;\n"
 msgstr ""
+"set_tid[0] = 7;\n"
+"set_tid[1] = 42;\n"
+"set_tid[2] = 31496;\n"
+"set_tid_size = 3;\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:352
@@ -1506,6 +1380,9 @@ msgid ""
 "set_tid[1] = 42;\n"
 "set_tid_size = 2;\n"
 msgstr ""
+"set_tid[0] = 7;\n"
+"set_tid[1] = 42;\n"
+"set_tid_size = 2;\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:363
@@ -1564,23 +1441,13 @@ msgstr "B<CLONE_CHILD_CLEARTID> (Linux 2.5.49 以降)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:425
-#, fuzzy
-#| msgid ""
-#| "Erase child thread ID at location I<ctid> in child memory when the child "
-#| "exits, and do a wakeup on the futex at that address.  The address "
-#| "involved may be changed by the B<set_tid_address>(2)  system call.  This "
-#| "is used by threading libraries."
 msgid ""
 "Clear (zero) the child thread ID at the location pointed to by I<child_tid> "
 "(B<clone>())  or I<cl_args.child_tid> (B<clone3>())  in child memory when "
 "the child exits, and do a wakeup on the futex at that address.  The address "
 "involved may be changed by the B<set_tid_address>(2)  system call.  This is "
 "used by threading libraries."
-msgstr ""
-"子プロセスが終了したときに子プロセスのメモリー内の I<ctid> が指す場所にある子"
-"プロセスのスレッド ID を消去し、 そのアドレスで futex を wake (起床) させ"
-"る。 このアドレスは B<set_tid_address>(2)  システムコールで変更することができ"
-"る。 この機能はスレッドライブラリで使用される。"
+msgstr "子プロセスが終了したときに、子プロセスのメモリー内の (B<clone>() の) I<child_tid> や (B<clone3>() の) I<cl_args.child_tid> が指す場所にある子プロセスのスレッド ID をクリアし (ゼロに設定し)、そのアドレスで futex を wake (起床) させる。 このアドレスは B<set_tid_address>(2) システムコールで変更することができる。 この機能はスレッドライブラリで使用される。"
 
 #. type: TP
 #: build/C/man2/clone.2:425
@@ -1601,10 +1468,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/clone.2:440
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_SIGHAND> (since Linux 2.0)"
+#, no-wrap
 msgid "B<CLONE_CLEAR_SIGHAND> (since Linux 5.5)"
-msgstr "B<CLONE_SIGHAND> (Linux 2.0 以降)"
+msgstr "B<CLONE_CLEAR_SIGHAND> (Linux 5.5 以降)"
 
 #.  commit b612e5df4587c934bd056bf05f4a1deca4de4f75
 #. type: Plain text
@@ -1624,10 +1490,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/clone.2:454
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_PID> (obsolete)"
+#, no-wrap
 msgid "B<CLONE_DETACHED> (historical)"
-msgstr "B<CLONE_PID> (廃止予定)"
+msgstr ""
 
 #.  added in 2.5.32; removed in 2.6.0-test4
 #. type: Plain text
@@ -1657,14 +1522,6 @@ msgstr "B<CLONE_FILES> (Linux 2.0 以降)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:490
-#, fuzzy
-#| msgid ""
-#| "If B<CLONE_FILES> is set, the calling process and the child process share "
-#| "the same file descriptor table.  Any file descriptor created by the "
-#| "calling process or by the child process is also valid in the other "
-#| "process.  Similarly, if one of the processes closes a file descriptor, or "
-#| "changes its associated flags (using the B<fcntl>(2)  B<F_SETFD> "
-#| "operation), the other process is also affected."
 msgid ""
 "If B<CLONE_FILES> is set, the calling process and the child process share "
 "the same file descriptor table.  Any file descriptor created by the calling "
@@ -1673,13 +1530,7 @@ msgid ""
 "associated flags (using the B<fcntl>(2)  B<F_SETFD> operation), the other "
 "process is also affected.  If a process sharing a file descriptor table "
 "calls B<execve>(2), its file descriptor table is duplicated (unshared)."
-msgstr ""
-"B<CLONE_FILES> が設定された場合、呼び出し元のプロセスと子プロセスはファイル"
-"ディスクリプターの テーブルを共有する。 呼び出し元プロセスとその子プロセスの"
-"一方が作成した ファイルディスクリプターは、もう一方においても有効である。 同"
-"じように、一方のプロセスがファイルディスクリプターを閉じたり、 (B<fcntl>(2)  "
-"B<F_SETFD> 操作を使って) ディスクリプターに関連するフラグを変更したりする"
-"と、 もう一方のプロセスにも影響する。"
+msgstr "B<CLONE_FILES> が設定された場合、呼び出し元のプロセスと子プロセスはファイルディスクリプターの テーブルを共有する。 呼び出し元プロセスとその子プロセスの一方が作成した ファイルディスクリプターは、もう一方においても有効である。 同じように、一方のプロセスがファイルディスクリプターを閉じたり、 (B<fcntl>(2)  B<F_SETFD> 操作を使って) ディスクリプターに関連するフラグを変更したりすると、 もう一方のプロセスにも影響する。ファイルディスクリプターテーブルを共有するプロセスが B<execve>(2) を呼び出した場合、そのファイルディスクリプターテーブルは複製される (共有はされない)。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:505
@@ -1736,12 +1587,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:531
-#, fuzzy
-#| msgid ""
-#| "If B<CLONE_FS> is not set, the child process works on a copy of the "
-#| "filesystem information of the calling process at the time of the "
-#| "B<clone>()  call.  Calls to B<chroot>(2), B<chdir>(2), B<umask>(2)  "
-#| "performed later by one of the processes do not affect the other process."
 msgid ""
 "If B<CLONE_FS> is not set, the child process works on a copy of the "
 "filesystem information of the calling process at the time of the clone "
@@ -1755,10 +1600,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/clone.2:531
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_IO> (since Linux 2.6.25)"
+#, no-wrap
 msgid "B<CLONE_INTO_CGROUP> (since Linux 5.7)"
-msgstr "B<CLONE_IO> (Linux 2.6.25 以降)"
+msgstr "B<CLONE_INTO_CGROUP> (Linux 5.7 以降)"
 
 #.  commit ef2c41cf38a7559bbf91af42d5b6a4429db8fc68
 #. type: Plain text
@@ -1838,16 +1682,6 @@ msgstr ""
 #.  with CFQ and AS.
 #. type: Plain text
 #: build/C/man2/clone.2:616
-#, fuzzy
-#| 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 the same I/O context, they are treated as one by the I/O "
-#| "scheduler.  As a consequence, they get to share disk time.  For some I/O "
-#| "schedulers, if two processes share an I/O context, they will be allowed "
-#| "to interleave their disk access.  If several threads are doing I/O on "
-#| "behalf of the same process (B<aio_read>(3), for instance), they should "
-#| "employ B<CLONE_IO> to get better I/O performance."
 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 "
@@ -1879,10 +1713,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/clone.2:620 build/C/man2/setns.2:62 build/C/man2/unshare.2:76
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_NEWIPC> (since Linux 3.0)"
+#, no-wrap
 msgid "B<CLONE_NEWCGROUP> (since Linux 4.6)"
-msgstr "B<CLONE_NEWIPC> (Linux 3.0 以降)"
+msgstr "B<CLONE_NEWCGROUP> (Linux 4.6 以降)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:626
@@ -1902,20 +1735,15 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:629
-#, fuzzy
-#| msgid "For further information on mount namespaces, see B<namespaces>(7)."
 msgid ""
 "For further information on cgroup namespaces, see B<cgroup_namespaces>(7)."
-msgstr "マウント名前空間の詳細は B<namespaces>(7) を参照。"
+msgstr "cgroup 名前空間の詳細は B<cgroup_namespaces>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:635
-#, fuzzy
-#| msgid ""
-#| "Only a privileged process (B<CAP_SYS_ADMIN>)  can employ B<CLONE_NEWUTS>."
 msgid ""
 "Only a privileged process (B<CAP_SYS_ADMIN>)  can employ B<CLONE_NEWCGROUP>."
-msgstr "特権プロセス (B<CAP_SYS_ADMIN>) だけが B<CLONE_NEWUTS> を使用できる。"
+msgstr "特権プロセス (B<CAP_SYS_ADMIN>) だけが B<CLONE_NEWCGROUP> を使用できる。"
 
 #. type: TP
 #: build/C/man2/clone.2:635 build/C/man2/unshare.2:88
@@ -1925,26 +1753,16 @@ msgstr "B<CLONE_NEWIPC> (Linux 2.6.19 以降)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:644
-#, fuzzy
-#| msgid ""
-#| "If B<CLONE_NEWUSER> is set, then create the process in a new user "
-#| "namespace.  If this flag is not set, then (as with B<fork>(2))  the "
-#| "process is created in the same user namespace as the calling process."
 msgid ""
 "If B<CLONE_NEWIPC> is set, then create the process in a new IPC namespace.  "
 "If this flag is not set, then (as with B<fork>(2)), the process is created "
 "in the same IPC namespace as the calling process."
-msgstr ""
-"B<CLONE_NEWUSER> がセットされている場合、新しいユーザー名前空間でプロセスを作"
-"成する。 このフラグがセットされていない場合、 (B<fork>(2)  の場合と同様に) 呼"
-"び出し元のプロセスと同じユーザー名前空間でプロセスが作成される。"
+msgstr "B<CLONE_NEWIPC> がセットされている場合、新しい IPC 名前空間でプロセスを作成する。 このフラグがセットされていない場合、 (B<fork>(2)  の場合と同様に) 呼び出し元のプロセスと同じ IPC 名前空間でプロセスが作成される。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:647
-#, fuzzy
-#| msgid "For further information on IPC namespaces, see B<namespaces>(7)."
 msgid "For further information on IPC namespaces, see B<ipc_namespaces>(7)."
-msgstr "IPC 名前空間の詳細は B<namespaces>(7) を参照。"
+msgstr "IPC 名前空間の詳細は B<ipc_namespaces>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:654
@@ -1986,12 +1804,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:669
-#, fuzzy
-#| msgid ""
-#| "For further information on user namespaces, see B<user_namespaces>(7)."
 msgid ""
 "For further information on network namespaces, see B<network_namespaces>(7)."
-msgstr "ã\83¦ã\83¼ã\82¶ã\83¼å\90\8då\89\8d空é\96\93ã\81®è©³ç´°ã\81¯ B<user_namespaces>(7) を参照。"
+msgstr "ã\83\8dã\83\83ã\83\88ã\83¯ã\83¼ã\82¯å\90\8då\89\8d空é\96\93ã\81®è©³ç´°ã\81¯ B<network_namespaces>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:674
@@ -2020,24 +1835,14 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:689
-#, fuzzy
-#| msgid ""
-#| "For further information on user namespaces, see B<namespaces>(7)  and "
-#| "B<user_namespaces>(7)"
 msgid ""
 "For further information on mount namespaces, see B<namespaces>(7)  and "
 "B<mount_namespaces>(7)."
-msgstr ""
-"ユーザー名前空間の詳細は B<namespaces>(7) と B<user_namespaces>(7) を参照。"
+msgstr "マウント名前空間の詳細は B<namespaces>(7) と B<mount_namespaces>(7) を参照。"
 
 #.  See https://lwn.net/Articles/543273/
 #. type: Plain text
 #: build/C/man2/clone.2:700
-#, fuzzy
-#| msgid ""
-#| "Only a privileged process (B<CAP_SYS_ADMIN>)  can employ B<CLONE_NEWNS>.  "
-#| "It is not permitted to specify both B<CLONE_NEWNS> and B<CLONE_FS> in the "
-#| "same B<clone>()  call."
 msgid ""
 "Only a privileged process (B<CAP_SYS_ADMIN>)  can employ B<CLONE_NEWNS>.  It "
 "is not permitted to specify both B<CLONE_NEWNS> and B<CLONE_FS> in the same "
@@ -2061,26 +1866,14 @@ msgstr "B<CLONE_NEWPID> (Linux 2.6.24 以降)"
 #.  Author: Pavel Emelyanov <xemul@openvz.org>
 #. type: Plain text
 #: build/C/man2/clone.2:716
-#, fuzzy
-#| msgid ""
-#| "If B<CLONE_NEWUSER> is set, then create the process in a new user "
-#| "namespace.  If this flag is not set, then (as with B<fork>(2))  the "
-#| "process is created in the same user namespace as the calling process."
 msgid ""
 "If B<CLONE_NEWPID> is set, then create the process in a new PID namespace.  "
 "If this flag is not set, then (as with B<fork>(2))  the process is created "
 "in the same PID namespace as the calling process."
-msgstr ""
-"B<CLONE_NEWUSER> がセットされている場合、新しいユーザー名前空間でプロセスを作"
-"成する。 このフラグがセットされていない場合、 (B<fork>(2)  の場合と同様に) 呼"
-"び出し元のプロセスと同じユーザー名前空間でプロセスが作成される。"
+msgstr "B<CLONE_NEWPID> がセットされている場合、新しい PID 名前空間でプロセスを作成する。 このフラグがセットされていない場合、 (B<fork>(2)  の場合と同様に) 呼び出し元のプロセスと同じ PID 名前空間でプロセスが作成される。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:721
-#, fuzzy
-#| msgid ""
-#| "For further information on PID namespaces, see B<namespaces>(7)  and "
-#| "B<pid_namespaces>(7)"
 msgid ""
 "For further information on PID namespaces, see B<namespaces>(7)  and "
 "B<pid_namespaces>(7)."
@@ -2127,10 +1920,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:752
-#, fuzzy
-#| msgid ""
-#| "For further information on user namespaces, see B<namespaces>(7)  and "
-#| "B<user_namespaces>(7)"
 msgid ""
 "For further information on user namespaces, see B<namespaces>(7)  and "
 "B<user_namespaces>(7)."
@@ -2174,33 +1963,18 @@ msgstr "B<CLONE_NEWUTS> (Linux 2.6.19 以降)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:788
-#, fuzzy
-#| msgid ""
-#| "If B<CLONE_NEWUTS> is set, then create the process in a new UTS "
-#| "namespace, whose identifiers are initialized by duplicating the "
-#| "identifiers from the UTS namespace of the calling process.  If this flag "
-#| "is not set, then (as with B<fork>(2))  the process is created in the same "
-#| "UTS namespace as the calling process.  This flag is intended for the "
-#| "implementation of containers."
 msgid ""
 "If B<CLONE_NEWUTS> is set, then create the process in a new UTS namespace, "
 "whose identifiers are initialized by duplicating the identifiers from the "
 "UTS namespace of the calling process.  If this flag is not set, then (as "
 "with B<fork>(2))  the process is created in the same UTS namespace as the "
 "calling process."
-msgstr ""
-"B<CLONE_NEWUTS> が設定された場合、新しい UTS 名前空間でプロセスを作成する。 "
-"新しい UTS 名前空間の識別子の初期値は、呼び出し元のプロセスの UTS 名前空間の"
-"識別子を複製したものとなる。 このフラグが設定されていない場合、 (B<fork>(2)  "
-"の場合と同様) 呼び出し元のプロセスと同じ UTS 名前空間で プロセスが作成され"
-"る。 このフラグは、コンテナの実装での使用を意図して用意されたものである。"
+msgstr "B<CLONE_NEWUTS> が設定された場合、新しい UTS 名前空間でプロセスを作成する。 新しい UTS 名前空間の識別子の初期値は、呼び出し元のプロセスの UTS 名前空間の識別子を複製したものとなる。 このフラグが設定されていない場合、 (B<fork>(2)  の場合と同様) 呼び出し元のプロセスと同じ UTS 名前空間で プロセスが作成される。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:791
-#, fuzzy
-#| msgid "For further information on UTS namespaces, see B<namespaces>(7)."
 msgid "For further information on UTS namespaces, see B<uts_namespaces>(7)."
-msgstr "UTS 名前空間の詳細は B<namespaces>(7) を参照。"
+msgstr "UTS 名前空間の詳細は B<uts_namespaces>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:796
@@ -2279,10 +2053,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/clone.2:839
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_IO> (since Linux 2.6.25)"
+#, no-wrap
 msgid "B<CLONE_PID> (Linux 2.0 to 2.5.15)"
-msgstr "B<CLONE_IO> (Linux 2.6.25 以降)"
+msgstr " B<CLONE_PID> (Linux 2.0 to 2.5.15)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:856
@@ -2308,10 +2081,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/clone.2:856
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_NEWPID> (since Linux 3.8)"
+#, no-wrap
 msgid "B<CLONE_PIDFD> (since Linux 5.2)"
-msgstr "B<CLONE_NEWPID> (Linux 3.8 以降)"
+msgstr "B<CLONE_PIDFD> (Linux 5.2 以降)"
 
 #.  commit b3e5838252665ee4cfa76b82bdf1198dca81e5be
 #. type: Plain text
@@ -2415,15 +2187,6 @@ msgstr "B<CLONE_SIGHAND> (Linux 2.0 以降)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:952
-#, fuzzy
-#| msgid ""
-#| "If B<CLONE_SIGHAND> is set, the calling process and the child process "
-#| "share the same table of signal handlers.  If the calling process or child "
-#| "process calls B<sigaction>(2)  to change the behavior associated with a "
-#| "signal, the behavior is changed in the other process as well.  However, "
-#| "the calling process and child processes still have distinct signal masks "
-#| "and sets of pending signals.  So, one of them may block or unblock some "
-#| "signals using B<sigprocmask>(2)  without affecting the other process."
 msgid ""
 "If B<CLONE_SIGHAND> is set, the calling process and the child process share "
 "the same table of signal handlers.  If the calling process or child process "
@@ -2444,12 +2207,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:961
-#, fuzzy
-#| msgid ""
-#| "If B<CLONE_SIGHAND> is not set, the child process inherits a copy of the "
-#| "signal handlers of the calling process at the time B<clone>()  is "
-#| "called.  Calls to B<sigaction>(2)  performed later by one of the "
-#| "processes have no effect on the other process."
 msgid ""
 "If B<CLONE_SIGHAND> is not set, the child process inherits a copy of the "
 "signal handlers of the calling process at the time of the clone call.  Calls "
@@ -2464,23 +2221,16 @@ msgstr ""
 #.  Precisely: Linux 2.6.0-test6
 #. type: Plain text
 #: build/C/man2/clone.2:971
-#, fuzzy
-#| msgid ""
-#| "Since Linux 2.6.0-test6, I<flags> must also include B<CLONE_VM> if "
-#| "B<CLONE_SIGHAND> is specified"
 msgid ""
 "Since Linux 2.6.0, the I<flags> mask must also include B<CLONE_VM> if "
 "B<CLONE_SIGHAND> is specified"
-msgstr ""
-"Linux 2.6.0-test6 以降では、 B<CLONE_SIGHAND> を指定する場合、 B<CLONE_VM> "
-"も I<flags> に含めなければならない。"
+msgstr "Linux 2.6.0 以降では、 B<CLONE_SIGHAND> を指定する場合、 B<CLONE_VM> も I<flags> マスクに含めなければならない。"
 
 #. type: TP
 #: build/C/man2/clone.2:971
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_STOPPED> (since Linux 2.6.0-test2)"
+#, no-wrap
 msgid "B<CLONE_STOPPED> (since Linux 2.6.0)"
-msgstr "B<CLONE_STOPPED> (Linux 2.6.0-test2 以降)"
+msgstr "B<CLONE_STOPPED> (Linux 2.6.0 以降)"
 
 #.  Precisely: Linux 2.6.0-test2
 #. type: Plain text
@@ -2531,10 +2281,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/clone.2:1011
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_THREAD> (since Linux 2.4.0-test8)"
+#, no-wrap
 msgid "B<CLONE_THREAD> (since Linux 2.4.0)"
-msgstr "B<CLONE_THREAD> (Linux 2.4.0-test8以降)"
+msgstr "B<CLONE_THREAD> (Linux 2.4.0 以降)"
 
 #.  Precisely: Linux 2.6.0-test8
 #. type: Plain text
@@ -2566,38 +2315,20 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1037
-#, fuzzy
-#| 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 "
-#| "result returned to the caller of B<clone>(), and a thread can obtain its "
-#| "own TID using B<gettid>(2)."
 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 "
 "result returned to the caller, and a thread can obtain its own TID using "
 "B<gettid>(2)."
-msgstr ""
-"あるグループに属するスレッドは (システム全体で) 一意なスレッド ID (TID)  で区"
-"別できる。新しいスレッドの TID は B<clone>()  の呼び出し元へ関数の結果として"
-"返され、 スレッドは自分自身の TID を B<gettid>(2)  で取得できる。"
+msgstr "あるグループに属するスレッドは (システム全体で) 一意なスレッド ID (TID)  で区別できる。新しいスレッドの TID は呼び出し元へ関数の結果として返され、 スレッドは自分自身の TID を B<gettid>(2)  で取得できる。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1045
-#, fuzzy
-#| msgid ""
-#| "When a call is made to B<clone>()  without specifying B<CLONE_THREAD>, "
-#| "then the resulting thread is placed in a new thread group whose TGID is "
-#| "the same as the thread's TID.  This thread is the I<leader> of the new "
-#| "thread group."
 msgid ""
 "When a clone call is made without specifying B<CLONE_THREAD>, then the "
 "resulting thread is placed in a new thread group whose TGID is the same as "
 "the thread's TID.  This thread is the I<leader> of the new thread group."
-msgstr ""
-"B<CLONE_THREAD> を指定せずに B<clone>()  の呼び出しが行われると、 生成された"
-"スレッドはそのスレッドの TID と同じ値の TGID を持つ 新しいスレッドグループに"
-"置かれる。このスレッドは 新しいスレッドグループの「リーダー」である。"
+msgstr "B<CLONE_THREAD> を指定せずに clone の呼び出しが行われると、 生成されたスレッドはそのスレッドの TID と同じ値の TGID を持つ 新しいスレッドグループに置かれる。このスレッドは 新しいスレッドグループの「リーダー」である。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1064
@@ -2661,20 +2392,11 @@ msgstr ""
 #.  Precisely: Linux 2.6.0-test6
 #. type: Plain text
 #: build/C/man2/clone.2:1094
-#, fuzzy
-#| msgid ""
-#| "Since Linux 2.5.35, I<flags> must also include B<CLONE_SIGHAND> if "
-#| "B<CLONE_THREAD> is specified (and note that, since Linux 2.6.0-test6, "
-#| "B<CLONE_SIGHAND> also requires B<CLONE_VM> to be included)."
 msgid ""
 "Since Linux 2.5.35, the I<flags> mask must also include B<CLONE_SIGHAND> if "
 "B<CLONE_THREAD> is specified (and note that, since Linux 2.6.0, "
 "B<CLONE_SIGHAND> also requires B<CLONE_VM> to be included)."
-msgstr ""
-"Linux 2.5.35 以降では、 B<CLONE_THREAD> を指定する場合、 I<flags> に "
-"B<CLONE_SIGHAND> も含まれていなければならない (Linux 2.6.0-test6 以降では、 "
-"B<CLONE_SIGHAND> を指定する場合 B<CLONE_VM> も指定する必要がある点に注意する"
-"こと)。"
+msgstr "Linux 2.5.35 以降では、 B<CLONE_THREAD> を指定する場合、 I<flags> マスクに B<CLONE_SIGHAND> も含まれていなければならない (Linux 2.6.0 以降では、 B<CLONE_SIGHAND> を指定する場合 B<CLONE_VM> も指定する必要がある点に注意すること)。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1099
@@ -2810,22 +2532,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1184
-#, fuzzy
-#| msgid ""
-#| "If B<CLONE_VM> is not set, the child process runs in a separate copy of "
-#| "the memory space of the calling process at the time of B<clone>().  "
-#| "Memory writes or file mappings/unmappings performed by one of the "
-#| "processes do not affect the other, as with B<fork>(2)."
 msgid ""
 "If B<CLONE_VM> is not set, the child process runs in a separate copy of the "
 "memory space of the calling process at the time of the clone call.  Memory "
 "writes or file mappings/unmappings performed by one of the processes do not "
 "affect the other, as with B<fork>(2)."
-msgstr ""
-"B<CLONE_VM> が設定されていない場合、子プロセスは B<clone>()  が実行された時点"
-"での、親プロセスのメモリー空間をコピーした 別のメモリー空間で実行される。 一"
-"方のプロセスが行ったメモリーへの書き込みや ファイルのマップ/アンマップは、 "
-"B<fork>(2)  の場合と同様、もう一方のプロセスには影響しない。"
+msgstr "B<CLONE_VM> が設定されていない場合、子プロセスは clone が呼ばれた時点での、親プロセスのメモリー空間をコピーした 別のメモリー空間で実行される。 一方のプロセスが行ったメモリーへの書き込みや ファイルのマップ/アンマップは、 B<fork>(2)  の場合と同様、もう一方のプロセスには影響しない。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1193
@@ -2925,26 +2637,18 @@ msgstr "B<EINVAL>"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1229
-#, fuzzy
-#| msgid "Both B<CLONE_FS> and B<CLONE_NEWNS> were specified in I<flags>."
 msgid ""
 "Both B<CLONE_SIGHAND> and B<CLONE_CLEAR_SIGHAND> were specified in the "
 "I<flags> mask."
-msgstr "B<CLONE_FS> と B<CLONE_NEWNS> の両方が I<flags> に指定された。"
+msgstr "B<CLONE_SIGHAND> と B<CLONE_CLEAR_SIGHAND> の両方が I<flags> マスクに指定された。"
 
 #.  Precisely: Linux 2.6.0-test6
 #. type: Plain text
 #: build/C/man2/clone.2:1239
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_SIGHAND> was specified, but B<CLONE_VM> was not.  (Since Linux "
-#| "2.6.0-test6.)"
 msgid ""
 "B<CLONE_SIGHAND> was specified in the I<flags> mask, but B<CLONE_VM> was "
 "not.  (Since Linux 2.6.0.)"
-msgstr ""
-"B<CLONE_SIGHAND> が指定されていたが、 B<CLONE_VM> が指定されていなかった。 "
-"(Linux 2.6.0-test6 以降)"
+msgstr "I<flags> マスクに B<CLONE_SIGHAND> が指定されていたが、 B<CLONE_VM> が指定されていなかった。 (Linux 2.6.0 以降)"
 
 #.  .TP
 #.  .B EINVAL
@@ -2956,16 +2660,10 @@ msgstr ""
 #.  (Since Linux 2.6.0-test6.)
 #. type: Plain text
 #: build/C/man2/clone.2:1256
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_THREAD> was specified, but B<CLONE_SIGHAND> was not.  (Since "
-#| "Linux 2.5.35.)"
 msgid ""
 "B<CLONE_THREAD> was specified in the I<flags> mask, but B<CLONE_SIGHAND> was "
 "not.  (Since Linux 2.5.35.)"
-msgstr ""
-"B<CLONE_THREAD> が指定されていたが、 B<CLONE_SIGHAND> が指定されていなかっ"
-"た。 (Linux 2.5.35 以降)"
+msgstr "I<flags> マスクに B<CLONE_THREAD> が指定されていたが、 B<CLONE_SIGHAND> が指定されていなかった。 (Linux 2.5.35 以降)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1268
@@ -2978,11 +2676,9 @@ msgstr ""
 #.  commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71
 #. type: Plain text
 #: build/C/man2/clone.2:1278
-#, fuzzy
-#| msgid "Both B<CLONE_FS> and B<CLONE_NEWNS> were specified in I<flags>."
 msgid ""
 "Both B<CLONE_FS> and B<CLONE_NEWNS> were specified in the I<flags> mask."
-msgstr "B<CLONE_FS> と B<CLONE_NEWNS> の両方が I<flags> に指定された。"
+msgstr "B<CLONE_FS> ã\81¨ B<CLONE_NEWNS> ã\81®ä¸¡æ\96¹ã\81\8c I<flags> ã\83\9eã\82¹ã\82¯ã\81«æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\80\82"
 
 #. type: TP
 #: build/C/man2/clone.2:1278
@@ -2992,50 +2688,35 @@ msgstr "B<EINVAL> (Linux 3.9 以降)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1287
-#, fuzzy
-#| msgid "Both B<CLONE_NEWUSER> and B<CLONE_FS> were specified in I<flags>."
 msgid ""
 "Both B<CLONE_NEWUSER> and B<CLONE_FS> were specified in the I<flags> mask."
-msgstr "B<CLONE_NEWUSER> と B<CLONE_FS> の両方が I<flags> に指定された。"
+msgstr "B<CLONE_NEWUSER> ã\81¨ B<CLONE_FS> ã\81®ä¸¡æ\96¹ã\81\8c I<flags> ã\83\9eã\82¹ã\82¯ã\81«æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\80\82"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1296
-#, fuzzy
-#| msgid ""
-#| "Both B<CLONE_NEWIPC> and B<CLONE_SYSVSEM> were specified in I<flags>."
 msgid ""
 "Both B<CLONE_NEWIPC> and B<CLONE_SYSVSEM> were specified in the I<flags> "
 "mask."
-msgstr "B<CLONE_NEWIPC> と B<CLONE_SYSVSEM> の両方が I<flags> に指定された。"
+msgstr "B<CLONE_NEWIPC> ã\81¨ B<CLONE_SYSVSEM> ã\81®ä¸¡æ\96¹ã\81\8c I<flags> ã\83\9eã\82¹ã\82¯ã\81«æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\80\82"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1309
-#, fuzzy
-#| msgid ""
-#| "One (or both) of B<CLONE_NEWPID> or B<CLONE_NEWUSER> and one (or both) of "
-#| "B<CLONE_THREAD> or B<CLONE_PARENT> were specified in I<flags>."
 msgid ""
 "One (or both) of B<CLONE_NEWPID> or B<CLONE_NEWUSER> and one (or both) of "
 "B<CLONE_THREAD> or B<CLONE_PARENT> were specified in the I<flags> mask."
-msgstr ""
-"B<CLONE_NEWPID> と B<CLONE_NEWUSER> の一方 (もしくは両方) と、 "
-"B<CLONE_THREAD> と B<CLONE_PARENT>  の一方 (もしくは両方) が、 I<flags> に指"
-"定された。"
+msgstr "B<CLONE_NEWPID> と B<CLONE_NEWUSER> の一方 (もしくは両方) と、 B<CLONE_THREAD> と B<CLONE_PARENT>  の一方 (もしくは両方) が、 I<flags> マスクに指定された。"
 
 #. type: TP
 #: build/C/man2/clone.2:1309
-#, fuzzy, no-wrap
-#| msgid "B<EINVAL> (since Linux 3.9)"
+#, no-wrap
 msgid "B<EINVAL> (since Linux 2.6.32)"
-msgstr "B<EINVAL> (Linux 3.9 以降)"
+msgstr "B<EINVAL> (Linux 2.6.32 以降)"
 
 #.  commit 123be07b0b399670a7cc3d82fef0cb4f93ef885c
 #. type: Plain text
 #: build/C/man2/clone.2:1314
-#, fuzzy
-#| msgid "B<CLONE_PID> was specified by a process other than process 0."
 msgid "B<CLONE_PARENT> was specified, and the caller is an init process."
-msgstr "PID が 0 以外のプロセスによって B<CLONE_PID> が指定された。"
+msgstr "B<CLONE_PARENT> が指定されたが、呼び出し元が init プロセスである。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1323
@@ -3046,68 +2727,38 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1334
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_NEWIPC> was specified in I<flags>, but the kernel was not "
-#| "configured with the B<CONFIG_SYSVIPC> and B<CONFIG_IPC_NS> options."
 msgid ""
 "B<CLONE_NEWIPC> was specified in the I<flags> mask, but the kernel was not "
 "configured with the B<CONFIG_SYSVIPC> and B<CONFIG_IPC_NS> options."
-msgstr ""
-"I<flags> に B<CLONE_NEWIPC> が指定されたが、カーネルでオプション "
-"B<CONFIG_SYSVIPC> と B<CONFIG_IPC_NS> が有効になっていなかった。"
+msgstr "I<flags> マスクに B<CLONE_NEWIPC> が指定されたが、カーネルでオプション B<CONFIG_SYSVIPC> と B<CONFIG_IPC_NS> が有効になっていなかった。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1343
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_NEWNET> was specified in I<flags>, but the kernel was not "
-#| "configured with the B<CONFIG_NET_NS> option."
 msgid ""
 "B<CLONE_NEWNET> was specified in the I<flags> mask, but the kernel was not "
 "configured with the B<CONFIG_NET_NS> option."
-msgstr ""
-"I<flags> に B<CLONE_NEWNET> が指定されたが、カーネルでオプション "
-"B<CONFIG_NET_NS> が有効になっていなかった。"
+msgstr "I<flags> マスクに B<CLONE_NEWNET> が指定されたが、カーネルでオプション B<CONFIG_NET_NS> が有効になっていなかった。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1352
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_NEWPID> was specified in I<flags>, but the kernel was not "
-#| "configured with the B<CONFIG_PID_NS> option."
 msgid ""
 "B<CLONE_NEWPID> was specified in the I<flags> mask, but the kernel was not "
 "configured with the B<CONFIG_PID_NS> option."
-msgstr ""
-"I<flags> に B<CLONE_NEWPID> が指定されたが、カーネルでオプション "
-"B<CONFIG_PID_NS> が有効になっていなかった。"
+msgstr "I<flags> マスクに B<CLONE_NEWPID> が指定されたが、カーネルでオプション B<CONFIG_PID_NS> が有効になっていなかった。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1361
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_NEWUTS> was specified in I<flags>, but the kernel was not "
-#| "configured with the B<CONFIG_UTS> option."
 msgid ""
 "B<CLONE_NEWUSER> was specified in the I<flags> mask, but the kernel was not "
 "configured with the B<CONFIG_USER_NS> option."
-msgstr ""
-"I<flags> に B<CLONE_NEWUTS> が指定されたが、カーネルでオプション "
-"B<CONFIG_UTS> が有効になっていなかった。"
+msgstr "I<flags> マスクに B<CLONE_NEWUSER> が指定されたが、カーネルでオプション B<CONFIG_USER_NS> が有効になっていなかった。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1370
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_NEWUTS> was specified in I<flags>, but the kernel was not "
-#| "configured with the B<CONFIG_UTS> option."
 msgid ""
 "B<CLONE_NEWUTS> was specified in the I<flags> mask, but the kernel was not "
 "configured with the B<CONFIG_UTS_NS> option."
-msgstr ""
-"I<flags> に B<CLONE_NEWUTS> が指定されたが、カーネルでオプション "
-"B<CONFIG_UTS> が有効になっていなかった。"
+msgstr "I<flags> マスクに B<CLONE_NEWUTS> が指定されたが、カーネルでオプション B<CONFIG_UTS_NS> が有効になっていなかった。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1377
@@ -3125,10 +2776,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1383
-#, fuzzy
-#| msgid "Both B<CLONE_NEWUSER> and B<CLONE_FS> were specified in I<flags>."
 msgid "B<CLONE_DETACHED> was specified in the I<flags> mask."
-msgstr "B<CLONE_NEWUSER> と B<CLONE_FS> の両方が I<flags> に指定された。"
+msgstr "B<CLONE_DETACHED> が I<flags> マスクに指定された。"
 
 #. type: TP
 #: build/C/man2/clone.2:1383
@@ -3202,47 +2851,32 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/clone.2:1425 build/C/man2/unshare.2:361
-#, fuzzy, no-wrap
-#| msgid "B<EPERM> (since Linux 3.9)"
+#, no-wrap
 msgid "B<ENOSPC> (since Linux 3.7)"
-msgstr "B<EPERM> (Linux 3.9 以降)"
+msgstr "B<ENOSPC> (Linux 3.7 以降)"
 
 #.  commit f2302505775fd13ba93f034206f1e2a587017929
 #. type: Plain text
 #: build/C/man2/clone.2:1435
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_NEWUSER> was specified in I<flags>, and the call would cause the "
-#| "limit on the number of nested user namespaces to be exceeded.  See "
-#| "B<user_namespaces>(7)."
 msgid ""
 "B<CLONE_NEWPID> was specified in the I<flags> mask, but the limit on the "
 "nesting depth of PID namespaces would have been exceeded; see "
 "B<pid_namespaces>(7)."
-msgstr ""
-"B<CLONE_NEWUSER> が I<flags> に指定されており、 この呼び出しによりネストされ"
-"たユーザー名前空間数の上限を超えてしまう。 B<user_namespaces>(7) を参照。"
+msgstr "B<CLONE_NEWPID> が I<flags> に指定されたが、 PID 名前空間のネストの深さの上限に達してしまう。 B<pid_namespaces>(7) を参照。"
 
 #. type: TP
 #: build/C/man2/clone.2:1435 build/C/man2/unshare.2:369
 #, no-wrap
 msgid "B<ENOSPC> (since Linux 4.9; beforehand B<EUSERS>)"
-msgstr ""
+msgstr "B<ENOSPC> (Linux 4.9 以降; 以前は B<EUSERS>)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1444
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_NEWUSER> was specified in I<flags>, and the call would cause the "
-#| "limit on the number of nested user namespaces to be exceeded.  See "
-#| "B<user_namespaces>(7)."
 msgid ""
 "B<CLONE_NEWUSER> was specified in the I<flags> mask, and the call would "
 "cause the limit on the number of nested user namespaces to be exceeded.  See "
 "B<user_namespaces>(7)."
-msgstr ""
-"B<CLONE_NEWUSER> が I<flags> に指定されており、 この呼び出しによりネストされ"
-"たユーザー名前空間数の上限を超えてしまう。 B<user_namespaces>(7) を参照。"
+msgstr "B<CLONE_NEWUSER> が I<flags> マスクに指定されており、 この呼び出しによりネストされたユーザー名前空間数の上限を超えてしまう。 B<user_namespaces>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1447 build/C/man2/unshare.2:381
@@ -3252,10 +2886,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/clone.2:1447 build/C/man2/unshare.2:381
-#, fuzzy, no-wrap
-#| msgid "B<EPERM> (since Linux 3.9)"
+#, no-wrap
 msgid "B<ENOSPC> (since Linux 4.9)"
-msgstr "B<EPERM> (Linux 3.9 以降)"
+msgstr "B<ENOSPC> (Linux 4.9 以降)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1457
@@ -3270,7 +2903,7 @@ msgstr ""
 #: build/C/man2/clone.2:1457
 #, no-wrap
 msgid "B<EOPNOTSUPP> (B<clone3>() only)"
-msgstr ""
+msgstr "B<EOPNOTSUPP> (B<clone3>() のみ)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1467
@@ -3293,44 +2926,26 @@ msgstr "B<EPERM>"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1477
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_NEWIPC>, B<CLONE_NEWNET>, B<CLONE_NEWNS>, B<CLONE_NEWPID>, or "
-#| "B<CLONE_NEWUTS> was specified by an unprivileged process (process without "
-#| "B<CAP_SYS_ADMIN>)."
 msgid ""
 "B<CLONE_NEWCGROUP>, B<CLONE_NEWIPC>, B<CLONE_NEWNET>, B<CLONE_NEWNS>, "
 "B<CLONE_NEWPID>, or B<CLONE_NEWUTS> was specified by an unprivileged process "
 "(process without B<CAP_SYS_ADMIN>)."
-msgstr ""
-"非特権プロセス (B<CAP_SYS_ADMIN> を持たないプロセス) が B<CLONE_NEWIPC>, "
-"B<CLONE_NEWNET>, B<CLONE_NEWNS>, B<CLONE_NEWPID>, B<CLONE_NEWUTS> を指定し"
-"た。"
+msgstr "非特権プロセス (B<CAP_SYS_ADMIN> を持たないプロセス) が B<CLONE_NEWCGROUP>, B<CLONE_NEWIPC>, B<CLONE_NEWNET>, B<CLONE_NEWNS>, B<CLONE_NEWPID>, B<CLONE_NEWUTS> を指定した。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1482
-#, fuzzy
-#| msgid "B<CLONE_PID> was specified by a process other than process 0."
 msgid ""
 "B<CLONE_PID> was specified by a process other than process 0.  (This error "
 "occurs only on Linux 2.5.15 and earlier.)"
-msgstr "PID が 0 以外のプロセスによって B<CLONE_PID> が指定された。"
+msgstr "PID が 0 以外のプロセスによって B<CLONE_PID> が指定された (このエラーは Linux 2.5.15 以前でのみ発生する)。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1491
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_NEWUSER> was specified in I<flags>, but either the effective user "
-#| "ID or the effective group ID of the caller does not have a mapping in the "
-#| "parent namespace (see B<user_namespaces>(7))."
 msgid ""
 "B<CLONE_NEWUSER> was specified in the I<flags> mask, but either the "
 "effective user ID or the effective group ID of the caller does not have a "
 "mapping in the parent namespace (see B<user_namespaces>(7))."
-msgstr ""
-"B<CLONE_NEWUSER> が I<flags> に指定されたが、 呼び出し元の実効ユーザー ID も"
-"しくは実効グループ ID が親名前空間にマッピングがない (B<user_namespaces>(7) "
-"参照)。"
+msgstr "B<CLONE_NEWUSER> が I<flags> マスクに指定されたが、 呼び出し元の実効ユーザー ID もしくは実効グループ ID が親名前空間にマッピングがない (B<user_namespaces>(7) 参照)。"
 
 #. type: TP
 #: build/C/man2/clone.2:1491 build/C/man2/unshare.2:402
@@ -3342,25 +2957,17 @@ msgstr "B<EPERM> (Linux 3.9 以降)"
 #.  FIXME What is the rationale for this restriction?
 #. type: Plain text
 #: build/C/man2/clone.2:1501
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_NEWUSER> was specified in I<flags> and the caller is in a chroot "
-#| "environment (i.e., the caller's root directory does not match the root "
-#| "directory of the mount namespace in which it resides)."
 msgid ""
 "B<CLONE_NEWUSER> was specified in the I<flags> mask and the caller is in a "
 "chroot environment (i.e., the caller's root directory does not match the "
 "root directory of the mount namespace in which it resides)."
-msgstr ""
-"B<CLONE_NEWUSER> が I<flags> に指定され、 呼び出し元が chroot された環境にい"
-"る (すなわち、呼び出し元の root ディレクトリが呼び出し元が属するマウント名前"
-"空間の root ディレクトリに一致しない)。"
+msgstr "B<CLONE_NEWUSER> が I<flags> マスクに指定され、 呼び出し元が chroot された環境にいる (すなわち、呼び出し元の root ディレクトリが呼び出し元が属するマウント名前空間の root ディレクトリに一致しない)。"
 
 #. type: TP
 #: build/C/man2/clone.2:1501
 #, no-wrap
 msgid "B<EPERM> (B<clone3>() only)"
-msgstr ""
+msgstr "B<EPERM> (B<clone3>() のみ)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1508
@@ -3372,10 +2979,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/clone.2:1508
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_PARENT> (since Linux 2.3.12)"
+#, no-wrap
 msgid "B<ERESTARTNOINTR> (since Linux 2.6.17)"
-msgstr "B<CLONE_PARENT> (Linux 2.3.12 以降)"
+msgstr "B<ERESTARTNOINTR> (Linux 2.6.17 以降)"
 
 #.  commit 4a2c7a7837da1b91468e50426066d988050e4d56
 #. type: Plain text
@@ -3387,25 +2993,17 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/clone.2:1513
-#, fuzzy, no-wrap
-#| msgid "B<EUSERS> (since Linux 3.11)"
+#, no-wrap
 msgid "B<EUSERS> (Linux 3.11 to Linux 4.8)"
-msgstr "B<EUSERS> (Linux 3.11 以降)"
+msgstr " B<EUSERS> (Linux 3.11 to Linux 4.8)"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1523
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_NEWUSER> was specified in I<flags>, and the call would cause the "
-#| "limit on the number of nested user namespaces to be exceeded.  See "
-#| "B<user_namespaces>(7)."
 msgid ""
 "B<CLONE_NEWUSER> was specified in the I<flags> mask, and the limit on the "
 "number of nested user namespaces would be exceeded.  See the discussion of "
 "the B<ENOSPC> error above."
-msgstr ""
-"B<CLONE_NEWUSER> が I<flags> に指定されており、 この呼び出しによりネストされ"
-"たユーザー名前空間数の上限を超えてしまう。 B<user_namespaces>(7) を参照。"
+msgstr "B<CLONE_NEWUSER> が I<flags> マスクに指定されており、ネストされたユーザー名前空間の数が上限を超えてしまう。上記の B<ENOSPC> エラーの議論を参照。"
 
 #.  There is no entry for
 #.  .BR clone ()
@@ -3415,49 +3013,29 @@ msgstr ""
 #.  as described in this manual page.
 #. type: Plain text
 #: build/C/man2/clone.2:1533
-#, fuzzy
-#| msgid "The B<kcmp>()  system call first appeared in Linux 3.5."
 msgid "The B<clone3>()  system call first appeared in Linux 5.3."
-msgstr "B<kcmp>() システムコールは Linux 3.5 で初めて登場した。"
+msgstr "B<clone3>() システムコールは Linux 5.3 で初めて登場した。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1537
-#, fuzzy
-#| msgid ""
-#| "B<clone>()  is Linux-specific and should not be used in programs intended "
-#| "to be portable."
 msgid ""
 "These system calls are Linux-specific and should not be used in programs "
 "intended to be portable."
-msgstr ""
-"B<clone>() は Linux 特有であり、移植を考慮したプログラムでは使用すべき ではな"
-"い。"
+msgstr "これらのシステムコールは Linux 特有であり、移植を考慮したプログラムでは使用すべき ではない。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1541
-#, fuzzy
-#| msgid ""
-#| "The main use of B<clone>()  is to implement threads: multiple threads of "
-#| "control in a program that run concurrently in a shared memory space."
 msgid ""
 "One use of these systems calls is to implement threads: multiple flows of "
 "control in a program that run concurrently in a shared address space."
-msgstr ""
-"B<clone>()  の主要な使用法はスレッド (threads) を実装することである: 一つのプ"
-"ログラムの中の複数のスレッドは共有されたメモリー空間で 同時に実行される。"
+msgstr "これらのシステムコールの使用法のひとつは、スレッドを実装することである。スレッドは、一つのプログラムの中で共有されたアドレス空間で同時並行で実行される複数の制御フローである。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1546
-#, fuzzy
-#| msgid ""
-#| "Glibc does not provide a wrapper for this system call; call it using "
-#| "B<syscall>(2)."
 msgid ""
 "Glibc does not provide a wrapper for B<clone3>(); call it using "
 "B<syscall>(2)."
-msgstr ""
-"glibc はこのシステムコールに対するラッパー関数を提供していない。 "
-"B<syscall>(2) を使って呼び出すこと。"
+msgstr "glibc は B<clone3>() に対するラッパー関数を提供していない。 B<syscall>(2) を使って呼び出すこと。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1562
@@ -3471,19 +3049,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1568
-#, fuzzy
-#| msgid ""
-#| "The B<kcmp>()  system call can be used to check whether the two processes "
-#| "identified by I<pid1> and I<pid2> share a kernel resource such as virtual "
-#| "memory, file descriptors, and so on."
 msgid ""
 "The B<kcmp>(2)  system call can be used to test whether two processes share "
 "various resources such as a file descriptor table, System V semaphore undo "
 "operations, or a virtual address space."
-msgstr ""
-"システムコール B<kcmp>() を使うと、 ID が I<pid1> と I<pid2> の二つのプロセス"
-"が、 仮想メモリーやファイルディスクリプターなどの、 同じカーネルリソースを共"
-"有しているかどうかを検査できる。"
+msgstr "システムコール B<kcmp>() を使うと、 2つのプロセスが、 ファイルディスクリプター、 System V セマフォーの undo 操作、仮想アドレス空間などの様々なリソースを共有しているかを検査できる。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1572
@@ -3494,22 +3064,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1582
-#, fuzzy
-#| msgid ""
-#| "In the kernel 2.4.x series, B<CLONE_THREAD> generally does not make the "
-#| "parent of the new thread the same as the parent of the calling process.  "
-#| "However, for kernel versions 2.4.7 to 2.4.18 the B<CLONE_THREAD> flag "
-#| "implied the B<CLONE_PARENT> flag (as in kernel 2.6)."
 msgid ""
 "In the Linux 2.4.x series, B<CLONE_THREAD> generally does not make the "
 "parent of the new thread the same as the parent of the calling process.  "
 "However, for kernel versions 2.4.7 to 2.4.18 the B<CLONE_THREAD> flag "
 "implied the B<CLONE_PARENT> flag (as in Linux 2.6.0 and later)."
-msgstr ""
-"カーネル 2.4.x 系列では、一般的には B<CLONE_THREAD> フラグを指定しても新しい"
-"スレッドの親を 呼び出し元プロセスの親と同じにはしない。 しかし、バージョン "
-"2.4.7〜2.4.18 のカーネルでは、 (カーネル 2.6 と同じように) CLONE_THREAD フラ"
-"グを指定すると、 暗黙のうちに CLONE_PARENT フラグを指定したことになる。"
+msgstr "Linux 2.4.x 系列では、一般的には B<CLONE_THREAD> フラグを指定しても新しいスレッドの親を 呼び出し元プロセスの親と同じにはしない。 しかし、バージョン 2.4.7〜2.4.18 のカーネルでは、 (カーネル 2.6 以降と同じように) CLONE_THREAD フラグを指定すると、 暗黙のうちに CLONE_PARENT フラグを指定したことになる。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1588
@@ -3522,31 +3082,18 @@ msgstr ""
 
 #. type: SS
 #: build/C/man2/clone.2:1588 build/C/man2/sched_setaffinity.2:236
-#, fuzzy, no-wrap
-#| msgid "C library/kernel ABI differences"
+#, no-wrap
 msgid "C library/kernel differences"
-msgstr "C ライブラリとカーネル ABI の違い"
+msgstr "C ライブラリとカーネルの違い"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1602
-#, fuzzy
-#| msgid ""
-#| "The raw B<clone>()  system call corresponds more closely to B<fork>(2)  "
-#| "in that execution in the child continues from the point of the call.  As "
-#| "such, the I<fn> and I<arg> arguments of the B<clone>()  wrapper function "
-#| "are omitted.  Furthermore, the argument order changes.  The raw system "
-#| "call interface on x86 and many other architectures is roughly:"
 msgid ""
 "The raw B<clone>()  system call corresponds more closely to B<fork>(2)  in "
 "that execution in the child continues from the point of the call.  As such, "
 "the I<fn> and I<arg> arguments of the B<clone>()  wrapper function are "
 "omitted."
-msgstr ""
-"素の B<clone> システムコールは、より B<fork>(2) に近いかたちになっており、 子"
-"プロセスの実行が呼び出しが行われた場所から続けられる。 そのため、 B<clone>() "
-"ラッパー関数の引き数 I<fn> と I<arg> は省略される。 また、 引き数の順序も違っ"
-"ている。 x86 と他の多くのアーキテクチャーにおける、 素のシステムコールのイン"
-"ターフェースは、 おおまかには次のようになっている。"
+msgstr "素の B<clone> システムコールは、より B<fork>(2) に近いかたちになっており、 子プロセスの実行が呼び出しが行われた場所から続けられる。 そのため、 B<clone>() ラッパー関数の引き数 I<fn> と I<arg> は省略される。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1624
@@ -3591,19 +3138,15 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1637
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
-#| "B<           void *>I<ptid>B<, void *>I<ctid>B<,>\n"
-#| "B<           struct pt_regs *>I<regs>B<);>\n"
+#, no-wrap
 msgid ""
 "B<long clone(unsigned long >I<flags>B<, void *>I<stack>B<,>\n"
 "B<           int *>I<parent_tid>B<, int *>I<child_tid>B<,>\n"
 "B<           unsigned long >I<tls>B<);>\n"
 msgstr ""
-"B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
-"B<           void *>I<ptid>B<, void *>I<ctid>B<,>\n"
-"B<           struct pt_regs *>I<regs>B<);>\n"
+" B<long clone(unsigned long >I<flags>B<, void *>I<stack>B<,>\n"
+"B<           int *>I<parent_tid>B<, int *>I<child_tid>B<,>\n"
+"B<           unsigned long >I<tls>B<);>\n"
 
 #.  CONFIG_CLONE_BACKWARDS
 #. type: Plain text
@@ -3616,19 +3159,15 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1651
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
-#| "B<          void *>I<ptid>B<, void *>I<ctid>B<,>\n"
-#| "B<          struct pt_regs *>I<regs>B<);>\n"
+#, no-wrap
 msgid ""
 "B<long clone(unsigned long >I<flags>B<, void *>I<stack>B<,>\n"
 "B<          int *>I<parent_tid>B<, unsigned long >I<tls>B<,>\n"
 "B<          int *>I<child_tid>B<);>\n"
 msgstr ""
-"B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
-"B<          void *>I<ptid>B<, void *>I<ctid>B<,>\n"
-"B<          struct pt_regs *>I<regs>B<);>\n"
+" B<long clone(unsigned long >I<flags>B<, void *>I<stack>B<,>\n"
+"B<          int *>I<parent_tid>B<, unsigned long >I<tls>B<,>\n"
+"B<          int *>I<child_tid>B<);>\n"
 
 #.  CONFIG_CLONE_BACKWARDS2
 #. type: Plain text
@@ -3640,19 +3179,15 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1663
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
-#| "B<           void *>I<ptid>B<, void *>I<ctid>B<,>\n"
-#| "B<           struct pt_regs *>I<regs>B<);>\n"
+#, no-wrap
 msgid ""
 "B<long clone(void *>I<stack>B<, unsigned long >I<flags>B<,>\n"
 "B<           int *>I<parent_tid>B<, int *>I<child_tid>B<,>\n"
 "B<           unsigned long >I<tls>B<);>\n"
 msgstr ""
-"B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
-"B<           void *>I<ptid>B<, void *>I<ctid>B<,>\n"
-"B<           struct pt_regs *>I<regs>B<);>\n"
+" B<long clone(void *>I<stack>B<, unsigned long >I<flags>B<,>\n"
+"B<           int *>I<parent_tid>B<, int *>I<child_tid>B<,>\n"
+"B<           unsigned long >I<tls>B<);>\n"
 
 #.  CONFIG_CLONE_BACKWARDS3
 #. type: Plain text
@@ -3662,20 +3197,17 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1676
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
-#| "B<           void *>I<ptid>B<, void *>I<ctid>B<,>\n"
-#| "B<           struct pt_regs *>I<regs>B<);>\n"
+#, no-wrap
 msgid ""
 "B<long clone(unsigned long >I<flags>B<, void *>I<stack>B<,>\n"
 "B<           int >I<stack_size>B<,>         /* Size of stack */\n"
 "B<           int *>I<parent_tid>B<, int *>I<child_tid>B<,>\n"
 "B<           unsigned long >I<tls>B<);>\n"
 msgstr ""
-"B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
-"B<           void *>I<ptid>B<, void *>I<ctid>B<,>\n"
-"B<           struct pt_regs *>I<regs>B<);>\n"
+" B<long clone(unsigned long >I<flags>B<, void *>I<stack>B<,>\n"
+"B<           int >I<stack_size>B<,>         /* Size of stack */\n"
+"B<           int *>I<parent_tid>B<, int *>I<child_tid>B<,>\n"
+"B<           unsigned long >I<tls>B<);>\n"
 
 #. type: SS
 #: build/C/man2/clone.2:1679
@@ -3708,12 +3240,7 @@ msgstr "ia64 では、別のインターフェースが使用される:"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1696
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int __clone2(int (*>I<fn>B<)(void *), >\n"
-#| "B<             void *>I<child_stack_base>B<, size_t >I<stack_size>B<,>\n"
-#| "B<             int >I<flags>B<, void *>I<arg>B<, ... >\n"
-#| "B<          /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
+#, no-wrap
 msgid ""
 "B<int __clone2(int (*>I<fn>B<)(void *),>\n"
 "B<             void *>I<stack_base>B<, size_t >I<stack_size>B<,>\n"
@@ -3721,10 +3248,11 @@ msgid ""
 "B<          /* pid_t *>I<parent_tid>B<, struct user_desc *>I<tls>B<,>\n"
 "B<             pid_t *>I<child_tid>B< */ );>\n"
 msgstr ""
-"B<int __clone2(int (*>I<fn>B<)(void *), >\n"
-"B<             void *>I<child_stack_base>B<, size_t >I<stack_size>B<,>\n"
-"B<             int >I<flags>B<, void *>I<arg>B<, ... >\n"
-"B<          /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
+" B<int __clone2(int (*>I<fn>B<)(void *),>\n"
+"B<             void *>I<stack_base>B<, size_t >I<stack_size>B<,>\n"
+"B<             int >I<flags>B<, void *>I<arg>B<, ...>\n"
+"B<          /* pid_t *>I<parent_tid>B<, struct user_desc *>I<tls>B<,>\n"
+"B<             pid_t *>I<child_tid>B< */ );>\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1704
@@ -3736,37 +3264,25 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1711
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
-#| "B<           void *>I<ptid>B<, void *>I<ctid>B<,>\n"
-#| "B<           struct pt_regs *>I<regs>B<);>\n"
+#, no-wrap
 msgid ""
 "B<long clone2(unsigned long >I<flags>B<, void *>I<stack_base>B<,>\n"
 "B<            int >I<stack_size>B<,>         /* Size of stack */\n"
 "B<            int *>I<parent_tid>B<, int *>I<child_tid>B<,>\n"
 "B<            unsigned long >I<tls>B<);>\n"
 msgstr ""
-"B<long clone(unsigned long >I<flags>B<, void *>I<child_stack>B<,>\n"
-"B<           void *>I<ptid>B<, void *>I<ctid>B<,>\n"
-"B<           struct pt_regs *>I<regs>B<);>\n"
+" B<long clone2(unsigned long >I<flags>B<, void *>I<stack_base>B<,>\n"
+"B<            int >I<stack_size>B<,>         /* Size of stack */\n"
+"B<            int *>I<parent_tid>B<, int *>I<child_tid>B<,>\n"
+"B<            unsigned long >I<tls>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1724
-#, fuzzy
-#| msgid ""
-#| "B<__clone2>()  operates in the same way as B<clone>(), except that "
-#| "I<child_stack_base> points to the lowest address of the child's stack "
-#| "area, and I<stack_size> specifies the size of the stack pointed to by "
-#| "I<child_stack_base>."
 msgid ""
 "B<__clone2>()  operates in the same way as B<clone>(), except that "
 "I<stack_base> points to the lowest address of the child's stack area, and "
 "I<stack_size> specifies the size of the stack pointed to by I<stack_base>."
-msgstr ""
-"B<__clone2>() は B<clone>() と同じように動作するが、以下の点が異なる: "
-"I<child_stack_base> は子プロセスのスタックエリアの最小のアドレスを指し、 "
-"I<stack_size> は I<child_stack_base> が指し示すスタックエリアの大きさを示す。"
+msgstr "B<__clone2>() は B<clone>() と同じように動作するが、以下の点が異なる: I<stack_base> は子プロセスのスタックエリアの最小のアドレスを指し、 I<stack_size> は I<stack_base> が指し示すスタックエリアの大きさを示す。"
 
 #. type: SS
 #: build/C/man2/clone.2:1724
@@ -3776,16 +3292,10 @@ msgstr "Linux 2.4 以前"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1732
-#, fuzzy
-#| msgid ""
-#| "In Linux 2.4 and earlier, B<clone>()  does not take arguments I<ptid>, "
-#| "I<tls>, and I<ctid>."
 msgid ""
 "In Linux 2.4 and earlier, B<clone>()  does not take arguments I<parent_tid>, "
 "I<tls>, and I<child_tid>."
-msgstr ""
-"Linux 2.4 以前では、 B<clone>()  は引き数 I<ptid>, I<tls>, I<ctid> を取らな"
-"い。"
+msgstr "Linux 2.4 以前では、 B<clone>()  は引き数 I<parent_tid>, I<tls>, I<child_tid> を取らない。"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1763
@@ -3841,24 +3351,21 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1767
-#, fuzzy, no-wrap
-#| msgid "    #include E<lt>syscall.hE<gt>\n"
+#, no-wrap
 msgid "#include E<lt>syscall.hE<gt>\n"
-msgstr "    #include E<lt>syscall.hE<gt>\n"
+msgstr " #include E<lt>syscall.hE<gt>\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1769
-#, fuzzy, no-wrap
-#| msgid "    pid_t mypid;\n"
+#, no-wrap
 msgid "pid_t mypid;\n"
-msgstr "    pid_t mypid;\n"
+msgstr " pid_t mypid;\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1771
-#, fuzzy, no-wrap
-#| msgid "    mypid = syscall(SYS_getpid);\n"
+#, no-wrap
 msgid "mypid = syscall(SYS_getpid);\n"
-msgstr "    mypid = syscall(SYS_getpid);\n"
+msgstr " mypid = syscall(SYS_getpid);\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1780
@@ -3919,16 +3426,7 @@ msgstr "プログラムのソース"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1824
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#define _GNU_SOURCE\n"
-#| "#include E<lt>sys/wait.hE<gt>\n"
-#| "#include E<lt>sys/utsname.hE<gt>\n"
-#| "#include E<lt>sched.hE<gt>\n"
-#| "#include E<lt>string.hE<gt>\n"
-#| "#include E<lt>stdio.hE<gt>\n"
-#| "#include E<lt>stdlib.hE<gt>\n"
-#| "#include E<lt>unistd.hE<gt>\n"
+#, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
 "#include E<lt>sys/wait.hE<gt>\n"
@@ -3941,14 +3439,16 @@ msgid ""
 "#include E<lt>unistd.hE<gt>\n"
 "#include E<lt>sys/mman.hE<gt>\n"
 msgstr ""
-"#define _GNU_SOURCE\n"
+" #define _GNU_SOURCE\n"
 "#include E<lt>sys/wait.hE<gt>\n"
 "#include E<lt>sys/utsname.hE<gt>\n"
 "#include E<lt>sched.hE<gt>\n"
 "#include E<lt>string.hE<gt>\n"
+"#include E<lt>stdint.hE<gt>\n"
 "#include E<lt>stdio.hE<gt>\n"
 "#include E<lt>stdlib.hE<gt>\n"
 "#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>sys/mman.hE<gt>\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1827 build/C/man2/kcmp.2:364
@@ -4094,21 +3594,16 @@ msgid ""
 "    if (stack == MAP_FAILED)\n"
 "        errExit(\"mmap\");\n"
 msgstr ""
+"    stack = mmap(NULL, STACK_SIZE, PROT_READ | PROT_WRITE,\n"
+"                 MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);\n"
+"    if (stack == MAP_FAILED)\n"
+"        errExit(\"mmap\");\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1876
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    stack = malloc(STACK_SIZE);\n"
-#| "    if (stack == NULL)\n"
-#| "        errExit(\"malloc\");\n"
-#| "    stackTop = stack + STACK_SIZE;  /* Assume stack grows downward */\n"
+#, no-wrap
 msgid "    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"
+msgstr "    stackTop = stack + STACK_SIZE;  /* スタックは下方向に伸びるものとする */\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1879
@@ -4122,22 +3617,17 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1884
-#, fuzzy, 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"
+#, no-wrap
 msgid ""
 "    pid = clone(childFunc, stackTop, CLONE_NEWUTS | SIGCHLD, argv[1]);\n"
 "    if (pid == -1)\n"
 "        errExit(\"clone\");\n"
 "    printf(\"clone() returned %jd\\en\", (intmax_t) pid);\n"
 msgstr ""
-"    pid = clone(childFunc, stackTop, CLONE_NEWUTS | SIGCHLD, argv[1]);\n"
+"     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"
+"    printf(\"clone() returned %jd\\en\", (intmax_t) pid);\n"
 
 #. type: Plain text
 #: build/C/man2/clone.2:1886
@@ -4197,22 +3687,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/clone.2:1920
-#, fuzzy
-#| msgid ""
-#| "B<fork>(2), B<futex>(2), B<getpid>(2), B<gettid>(2), B<kcmp>(2), "
-#| "B<set_thread_area>(2), B<set_tid_address>(2), B<setns>(2), B<tkill>(2), "
-#| "B<unshare>(2), B<wait>(2), B<capabilities>(7), B<namespaces>(7), "
-#| "B<pthreads>(7)"
 msgid ""
 "B<fork>(2), B<futex>(2), B<getpid>(2), B<gettid>(2), B<kcmp>(2), B<mmap>(2), "
 "B<pidfd_open>(2), B<set_thread_area>(2), B<set_tid_address>(2), B<setns>(2), "
 "B<tkill>(2), B<unshare>(2), B<wait>(2), B<capabilities>(7), "
 "B<namespaces>(7), B<pthreads>(7)"
-msgstr ""
-"B<fork>(2), B<futex>(2), B<getpid>(2), B<gettid>(2), B<kcmp>(2), "
-"B<set_thread_area>(2), B<set_tid_address>(2), B<setns>(2), B<tkill>(2), "
-"B<unshare>(2), B<wait>(2), B<capabilities>(7), B<namespaces>(7), "
-"B<pthreads>(7)"
+msgstr " B<fork>(2), B<futex>(2), B<getpid>(2), B<gettid>(2), B<kcmp>(2), B<mmap>(2), B<pidfd_open>(2), B<set_thread_area>(2), B<set_tid_address>(2), B<setns>(2), B<tkill>(2), B<unshare>(2), B<wait>(2), B<capabilities>(7), B<namespaces>(7), B<pthreads>(7)"
 
 #. type: TH
 #: build/C/man2/kcmp.2:28
@@ -4427,10 +3907,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/kcmp.2:159
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_FS> (since Linux 2.0)"
+#, no-wrap
 msgid "B<KCMP_EPOLL_TFD> (since Linux 4.13)"
-msgstr "B<CLONE_FS> (Linux 2.0 以降)"
+msgstr "B<KCMP_EPOLL_TFD> (Linux 4.13 以降)"
 
 #.  commit 0791e3644e5ef21646fe565b9061788d05ec71d4
 #. type: Plain text
@@ -4465,22 +3944,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:208
-#, fuzzy
-#| msgid ""
-#| "Note the B<kcmp>()  is not protected against false positives which may "
-#| "occur if tasks are running.  One should stop tasks by sending B<SIGSTOP> "
-#| "(see B<signal>(7))  prior to inspection with this system call to obtain "
-#| "meaningful results."
 msgid ""
 "Note the B<kcmp>()  is not protected against false positives which may occur "
 "if the processes are currently running.  One should stop the processes by "
 "sending B<SIGSTOP> (see B<signal>(7))  prior to inspection with this system "
 "call to obtain meaningful results."
-msgstr ""
-"B<kcmp>() には、タスクが実行されている場合に起こり得る誤判定 (false "
-"positive) に関する保護はない。 ということは、 意味のある結果を得るためには、 "
-"このシステムコールで検査を行う前に、 B<SIGSTOP> を送信してタスクを停止すべき"
-"だということだ (B<signal>(7) 参照)。"
+msgstr "B<kcmp>() には、プロセスが現在実行されている場合に起こり得る誤判定 (false positive) に関する保護はない。 ということは、 意味のある結果を得るためには、 このシステムコールで検査を行う前に、 B<SIGSTOP> を送信してプロセスを停止すべきだということだ (B<signal>(7) 参照)。"
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:214
@@ -4582,10 +4051,9 @@ msgstr "I<type> が無効である。"
 
 #. type: TP
 #: build/C/man2/kcmp.2:271
-#, fuzzy, no-wrap
-#| msgid "B<ENOMEM>"
+#, no-wrap
 msgid "B<ENOENT>"
-msgstr "B<ENOMEM>"
+msgstr " B<ENOENT>"
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:276
@@ -4707,16 +4175,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:361
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#define _GNU_SOURCE\n"
-#| "#include E<lt>sys/wait.hE<gt>\n"
-#| "#include E<lt>sys/utsname.hE<gt>\n"
-#| "#include E<lt>sched.hE<gt>\n"
-#| "#include E<lt>string.hE<gt>\n"
-#| "#include E<lt>stdio.hE<gt>\n"
-#| "#include E<lt>stdlib.hE<gt>\n"
-#| "#include E<lt>unistd.hE<gt>\n"
+#, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
 "#include E<lt>sys/syscall.hE<gt>\n"
@@ -4729,21 +4188,20 @@ msgid ""
 "#include E<lt>fcntl.hE<gt>\n"
 "#include E<lt>linux/kcmp.hE<gt>\n"
 msgstr ""
-"#define _GNU_SOURCE\n"
+" #define _GNU_SOURCE\n"
+"#include E<lt>sys/syscall.hE<gt>\n"
 "#include E<lt>sys/wait.hE<gt>\n"
-"#include E<lt>sys/utsname.hE<gt>\n"
-"#include E<lt>sched.hE<gt>\n"
-"#include E<lt>string.hE<gt>\n"
-"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>sys/stat.hE<gt>\n"
+"#include E<lt>stdint.hE<gt>\n"
 "#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
 "#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>linux/kcmp.hE<gt>\n"
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:371
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int kcmp(pid_t >I<pid1>B<, pid_t >I<pid2>B<, int >I<type>B<,>\n"
-#| "B<         unsigned long >I<idx1>B<, unsigned long >I<idx2>B<);>\n"
+#, no-wrap
 msgid ""
 "static int\n"
 "kcmp(pid_t pid1, pid_t pid2, int type,\n"
@@ -4752,8 +4210,12 @@ msgid ""
 "    return syscall(SYS_kcmp, pid1, pid2, type, idx1, idx2);\n"
 "}\n"
 msgstr ""
-"B<int kcmp(pid_t >I<pid1>B<, pid_t >I<pid2>B<, int >I<type>B<,>\n"
-"B<         unsigned long >I<idx1>B<, unsigned long >I<idx2>B<);>\n"
+" static int\n"
+"kcmp(pid_t pid1, pid_t pid2, int type,\n"
+"     unsigned long idx1, unsigned long idx2)\n"
+"{\n"
+"    return syscall(SYS_kcmp, pid1, pid2, type, idx1, idx2);\n"
+"}\n"
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:381
@@ -4772,12 +4234,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:387
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int\n"
-#| "main(int argc, char *argv[])\n"
-#| "{\n"
-#| "    int flags, opt;\n"
+#, no-wrap
 msgid ""
 "int\n"
 "main(int argc, char *argv[])\n"
@@ -4785,25 +4242,22 @@ msgid ""
 "    int fd1, fd2, fd3;\n"
 "    char pathname[] = \"/tmp/kcmp.test\";\n"
 msgstr ""
-"int\n"
+" int\n"
 "main(int argc, char *argv[])\n"
 "{\n"
-"    int flags, opt;\n"
+"    int fd1, fd2, fd3;\n"
+"    char pathname[] = \"/tmp/kcmp.test\";\n"
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:391
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    fd = open(argv[1], O_RDONLY);  /* Get descriptor for namespace */\n"
-#| "    if (fd == -1)\n"
-#| "        errExit(\"open\");\n"
+#, no-wrap
 msgid ""
 "    fd1 = open(pathname, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR);\n"
 "    if (fd1 == -1)\n"
 "        errExit(\"open\");\n"
 msgstr ""
-"    fd = open(argv[1], O_RDONLY);  /* 名前空間のディスクリプターを取得 */\n"
-"    if (fd == -1)\n"
+"     fd1 = open(pathname, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR);\n"
+"    if (fd1 == -1)\n"
 "        errExit(\"open\");\n"
 
 #. type: Plain text
@@ -4816,17 +4270,15 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:398
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (unshare(flags) == -1)\n"
-#| "        errExit(\"unshare\");\n"
+#, no-wrap
 msgid ""
 "    switch (fork()) {\n"
 "    case -1:\n"
 "        errExit(\"fork\");\n"
 msgstr ""
-"    if (unshare(flags) == -1)\n"
-"        errExit(\"unshare\");\n"
+"     switch (fork()) {\n"
+"    case -1:\n"
+"        errExit(\"fork\");\n"
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:401
@@ -4846,22 +4298,17 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:409
-#, fuzzy, 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"
+#, no-wrap
 msgid ""
 "        fd2 = open(pathname, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR);\n"
 "        if (fd2 == -1)\n"
 "            errExit(\"open\");\n"
 "        printf(\"Child opened file on FD %d\\en\", fd2);\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"
+"         fd2 = open(pathname, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR);\n"
+"        if (fd2 == -1)\n"
+"            errExit(\"open\");\n"
+"        printf(\"Child opened file on FD %d\\en\", fd2);\n"
 
 #. type: Plain text
 #: build/C/man2/kcmp.2:412
@@ -4914,10 +4361,9 @@ msgstr "SCHED_GET_PRIORITY_MAX"
 #: 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_setscheduler.2:26
 #: build/C/man2/sched_yield.2:29
-#, fuzzy, no-wrap
-#| msgid "2014-09-21"
+#, no-wrap
 msgid "2017-09-15"
-msgstr "2014-09-21"
+msgstr " 2017-09-15"
 
 #. type: Plain text
 #: build/C/man2/sched_get_priority_max.2:32
@@ -4989,27 +4435,13 @@ msgstr ""
 #.  POSIX.1-2001, POSIX.1-2008 (XBD 2.8.4)
 #. type: Plain text
 #: build/C/man2/sched_get_priority_max.2:89
-#, fuzzy
-#| 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 map it to the interval given by B<sched_get_priority_max>()  "
-#| "and B<sched_get_priority_min>().  POSIX.1-2001 requires a spread of at "
-#| "least 32 between the maximum and the minimum values for B<SCHED_FIFO> and "
-#| "B<SCHED_RR>."
 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 "
 "map it to the interval given by B<sched_get_priority_max>()  and "
 "B<sched_get_priority_min> POSIX.1 requires a spread of at least 32 between "
 "the maximum and the minimum values for B<SCHED_FIFO> and B<SCHED_RR>."
-msgstr ""
-"スケジューリングプライオリティの範囲は他の POSIX システムと 異なっているかも"
-"しれない。それで、移植性(portable)のある アプリケーションでは仮想的な範囲を用"
-"い B<sched_get_priority_max>()  と B<sched_get_priority_min>()  で与えられた"
-"間隔にマップして使用することはいい考えである。 POSIX.1-2001 では "
-"B<SCHED_FIFO> と B<SCHED_RR> における 最大値と最小値の間隔を少なくとも 32 に"
-"することを要求している。"
+msgstr "スケジューリングプライオリティの範囲は他の POSIX システムと 異なっているかもしれない。それで、移植性(portable)のある アプリケーションでは仮想的な範囲を用い B<sched_get_priority_max>()  と B<sched_get_priority_min> で与えられた間隔にマップして使用することはいい考えである。 POSIX.1 では B<SCHED_FIFO> と B<SCHED_RR> における 最大値と最小値の間隔を少なくとも 32 にすることを要求している。"
 
 #. type: Plain text
 #: build/C/man2/sched_get_priority_max.2:98
@@ -5042,10 +4474,8 @@ msgstr "引き数 I<policy> が定義されているスケジューリング方
 #: build/C/man2/sched_get_priority_max.2:116
 #: build/C/man2/sched_rr_get_interval.2:96 build/C/man2/sched_setparam.2:121
 #: build/C/man2/sched_yield.2:54
-#, fuzzy
-#| msgid "POSIX.1-2001."
 msgid "POSIX.1-2001, POSIX.1-2008."
-msgstr "POSIX.1-2001."
+msgstr " POSIX.1-2001, POSIX.1-2008."
 
 #. type: Plain text
 #: build/C/man2/sched_get_priority_max.2:126
@@ -5253,13 +4683,9 @@ msgstr "sched_rr_get_interval - 指定されたプロセスの SCHED_RR 間隔
 
 #. type: Plain text
 #: build/C/man2/sched_rr_get_interval.2:36
-#, fuzzy
-#| msgid ""
-#| "B<int sched_rr_get_interval(pid_t >I<pid>B<, struct timespec * >I<tp>B<);>"
 msgid ""
 "B<int sched_rr_get_interval(pid_t >I<pid>B<, struct timespec *>I<tp>B<);>"
-msgstr ""
-"B<int sched_rr_get_interval(pid_t >I<pid>B<, struct timespec *>I<tp>B<);>"
+msgstr " B<int sched_rr_get_interval(pid_t >I<pid>B<, struct timespec *>I<tp>B<);>"
 
 #. type: Plain text
 #: build/C/man2/sched_rr_get_interval.2:47
@@ -5560,22 +4986,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:151
-#, fuzzy
-#| msgid ""
-#| "(B<sched_setaffinity>())  The calling thread does not have appropriate "
-#| "privileges.  The caller needs an effective user ID equal to the real user "
-#| "ID or effective user ID of the thread identified by I<pid>, or it must "
-#| "possess the B<CAP_SYS_NICE> capability."
 msgid ""
 "(B<sched_setaffinity>())  The calling thread does not have appropriate "
 "privileges.  The caller needs an effective user ID equal to the real user ID "
 "or effective user ID of the thread identified by I<pid>, or it must possess "
 "the B<CAP_SYS_NICE> capability in the user namespace of the thread I<pid>."
-msgstr ""
-"(B<sched_setaffinity>())  呼び出し元のスレッドに適切な特権がなかった。 呼び出"
-"し元は、実効ユーザー ID が I<pid> で識別されるスレッドの実ユーザー ID または"
-"実効ユーザー ID と同じであるか、 B<CAP_SYS_NICE> ケーパビリティ (capability) "
-"を持たなければならない。"
+msgstr "(B<sched_setaffinity>())  呼び出し元のスレッドに適切な特権がなかった。 呼び出し元は、実効ユーザー ID が I<pid> で識別されるスレッドの実ユーザー ID または実効ユーザー ID と同じであるか、スレッド I<pid> のユーザー名前空間で B<CAP_SYS_NICE> ケーパビリティ (capability) を持たなければならない。"
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:154 build/C/man2/sched_setattr.2:326
@@ -5623,13 +5039,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:192
-#, fuzzy
-#| msgid ""
-#| "There are various ways of determining the number of CPUs available on the "
-#| "system, including: inspecting the contents of I</proc/cpuinfo>; using "
-#| "B<syconf>(3)  to obtain the values of the B<_SC_NPROCESSORS_CONF> and "
-#| "B<_SC_NPROCESSORS_ONLN> parameters; and inspecting the list CPU "
-#| "directories under I</sys/devices/system/cpu/>."
 msgid ""
 "There are various ways of determining the number of CPUs available on the "
 "system, including: inspecting the contents of I</proc/cpuinfo>; using "
@@ -5691,28 +5100,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:244
-#, fuzzy
-#| msgid ""
-#| "This manual page describes the glibc interface for the CPU affinity "
-#| "calls.  The actual system call interface is slightly different, with the "
-#| "I<mask> being typed as I<unsigned long\\ *>, reflecting the fact that the "
-#| "underlying implementation of CPU sets is a simple bit mask.  On success, "
-#| "the raw B<sched_getaffinity>()  system call returns the size (in bytes) "
-#| "of the I<cpumask_t> data type that is used internally by the kernel to "
-#| "represent the CPU set bit mask."
 msgid ""
 "This manual page describes the glibc interface for the CPU affinity calls.  "
 "The actual system call interface is slightly different, with the I<mask> "
 "being typed as I<unsigned long\\ *>, reflecting the fact that the underlying "
 "implementation of CPU sets is a simple bit mask."
-msgstr ""
-"このマニュアルページでは CPU affinity コールの glibc インターフェースを 説明"
-"している。実際のシステムコールインターフェースは少し違っており、 実際の実装で"
-"は CPU 集合は簡単なビットマスクであるという実状を反映し、 I<mask> の型が "
-"I<unsigned long\\ *> となっている。 成功時には、生の B<sched_getaffinity>()  "
-"システムコール自身は I<cpumask_t> データ型の (バイト単位の) 大きさを返す。 "
-"I<cpumask_t> はカーネル内部で CPU 集合のビットマスクを表現するのに 使われてい"
-"るデータ型である。"
+msgstr "このマニュアルページでは CPU affinity コールの glibc インターフェースを 説明している。実際のシステムコールインターフェースは少し違っており、 実際の実装では CPU 集合は簡単なビットマスクであるという実状を反映し、 I<mask> の型が I<unsigned long\\ *> となっている。"
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:256
@@ -5845,14 +5238,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:364
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#define _GNU_SOURCE\n"
-#| "#include E<lt>sched.hE<gt>\n"
-#| "#include E<lt>stdlib.hE<gt>\n"
-#| "#include E<lt>unistd.hE<gt>\n"
-#| "#include E<lt>stdio.hE<gt>\n"
-#| "#include E<lt>assert.hE<gt>\n"
+#, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
 "#include E<lt>sched.hE<gt>\n"
@@ -5861,23 +5247,16 @@ msgid ""
 "#include E<lt>unistd.hE<gt>\n"
 "#include E<lt>sys/wait.hE<gt>\n"
 msgstr ""
-"#define _GNU_SOURCE\n"
+" #define _GNU_SOURCE\n"
 "#include E<lt>sched.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
 "#include E<lt>stdlib.hE<gt>\n"
 "#include E<lt>unistd.hE<gt>\n"
-"#include E<lt>stdio.hE<gt>\n"
-"#include E<lt>assert.hE<gt>\n"
+"#include E<lt>sys/wait.hE<gt>\n"
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:374
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int\n"
-#| "main(int argc, char *argv[])\n"
-#| "{\n"
-#| "    cpu_set_t *cpusetp;\n"
-#| "    size_t size;\n"
-#| "    int num_cpus, cpu;\n"
+#, no-wrap
 msgid ""
 "int\n"
 "main(int argc, char *argv[])\n"
@@ -5886,21 +5265,16 @@ msgid ""
 "    int parentCPU, childCPU;\n"
 "    int nloops;\n"
 msgstr ""
-"int\n"
+" int\n"
 "main(int argc, char *argv[])\n"
 "{\n"
-"    cpu_set_t *cpusetp;\n"
-"    size_t size;\n"
-"    int num_cpus, cpu;\n"
+"    cpu_set_t set;\n"
+"    int parentCPU, childCPU;\n"
+"    int nloops;\n"
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:380
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (argc E<lt> 2) {\n"
-#| "        fprintf(stderr, \"Usage: %s E<lt>num-cpusE<gt>\\en\", argv[0]);\n"
-#| "        exit(EXIT_FAILURE);\n"
-#| "    }\n"
+#, no-wrap
 msgid ""
 "    if (argc != 4) {\n"
 "        fprintf(stderr, \"Usage: %s parent-cpu child-cpu num-loops\\en\",\n"
@@ -5908,8 +5282,9 @@ msgid ""
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
-"    if (argc E<lt> 2) {\n"
-"        fprintf(stderr, \"Usage: %s E<lt>num-cpusE<gt>\\en\", argv[0]);\n"
+"     if (argc != 4) {\n"
+"        fprintf(stderr, \"Usage: %s parent-cpu child-cpu num-loops\\en\",\n"
+"                argv[0]);\n"
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 
@@ -5924,10 +5299,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:386
-#, fuzzy, no-wrap
-#| msgid "B<CPU_ZERO>()"
+#, no-wrap
 msgid "    CPU_ZERO(&set);\n"
-msgstr "B<CPU_ZERO>()"
+msgstr "     CPU_ZERO(&set);\n"
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:390
@@ -5948,16 +5322,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:396 build/C/man2/sched_setaffinity.2:407
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (sethostname(arg, strlen(arg)) == -1)\n"
-#| "        errExit(\"sethostname\");\n"
+#, no-wrap
 msgid ""
 "        if (sched_setaffinity(getpid(), sizeof(set), &set) == -1)\n"
 "            errExit(\"sched_setaffinity\");\n"
 msgstr ""
-"    if (sethostname(arg, strlen(arg)) == -1)\n"
-"        errExit(\"sethostname\");\n"
+"         if (sched_setaffinity(getpid(), sizeof(set), &set) == -1)\n"
+"            errExit(\"sched_setaffinity\");\n"
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:399 build/C/man2/sched_setaffinity.2:410
@@ -5969,14 +5340,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:401
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    exit(EXIT_SUCCESS);\n"
-#| "}\n"
+#, no-wrap
 msgid "        exit(EXIT_SUCCESS);\n"
-msgstr ""
-"    exit(EXIT_SUCCESS);\n"
-"}\n"
+msgstr "         exit(EXIT_SUCCESS);\n"
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:404
@@ -5998,14 +5364,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setaffinity.2:440
-#, fuzzy
-#| msgid ""
-#| "B<lscpu>(1), B<nproc>(1), B<taskset>(1), B<clone>(2), B<getcpu>(2), "
-#| "B<getpriority>(2), B<gettid>(2), B<nice>(2), "
-#| "B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), "
-#| "B<sched_getscheduler>(2), B<sched_setscheduler>(2), B<setpriority>(2), "
-#| "B<CPU_SET>(3), B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), "
-#| "B<capabilities>(7), B<cpuset>(7), B<sched>(7)"
 msgid ""
 "B<lscpu>(1), B<nproc>(1), B<taskset>(1), B<clone>(2), B<getcpu>(2), "
 "B<getpriority>(2), B<gettid>(2), B<nice>(2), B<sched_get_priority_max>(2), "
@@ -6013,13 +5371,7 @@ msgid ""
 "B<sched_setscheduler>(2), B<setpriority>(2), B<CPU_SET>(3), "
 "B<get_nprocs>(3), B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), "
 "B<capabilities>(7), B<cpuset>(7), B<sched>(7), B<numactl>(8)"
-msgstr ""
-"B<lscpu>(1), B<nproc>(1), B<taskset>(1), B<clone>(2), B<getcpu>(2), "
-"B<getpriority>(2), B<gettid>(2), B<nice>(2), B<sched_get_priority_max>(2), "
-"B<sched_get_priority_min>(2), B<sched_getscheduler>(2), "
-"B<sched_setscheduler>(2), B<setpriority>(2), B<CPU_SET>(3), "
-"B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), B<capabilities>(7), "
-"B<cpuset>(7), B<sched>(7)"
+msgstr " B<lscpu>(1), B<nproc>(1), B<taskset>(1), B<clone>(2), B<getcpu>(2), B<getpriority>(2), B<gettid>(2), B<nice>(2), B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), B<sched_getscheduler>(2), B<sched_setscheduler>(2), B<setpriority>(2), B<CPU_SET>(3), B<get_nprocs>(3), B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), B<capabilities>(7), B<cpuset>(7), B<sched>(7), B<numactl>(8)"
 
 #. type: TH
 #: build/C/man2/sched_setattr.2:26
@@ -6037,28 +5389,22 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:36
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int sched_setattr(pid_t >I<pid>B<, const struct sched_attr *>I<attr>B<,>\n"
-#| "B<                  unsigned int >I<flags>B<);>\n"
+#, no-wrap
 msgid ""
 "B<int sched_setattr(pid_t >I<pid>B<, struct sched_attr *>I<attr>B<,>\n"
 "B<                  unsigned int >I<flags>B<);>\n"
 msgstr ""
-"B<int sched_setattr(pid_t >I<pid>B<, const struct sched_attr *>I<attr>B<,>\n"
+" B<int sched_setattr(pid_t >I<pid>B<, struct sched_attr *>I<attr>B<,>\n"
 "B<                  unsigned int >I<flags>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:39
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int sched_getattr(pid_t >I<pid>B<, const struct sched_attr *>I<attr>B<,>\n"
-#| "B<                  unsigned int >I<size>B<, unsigned int >I<flags>B<);>\n"
+#, no-wrap
 msgid ""
 "B<int sched_getattr(pid_t >I<pid>B<, struct sched_attr *>I<attr>B<,>\n"
 "B<                  unsigned int >I<size>B<, unsigned int >I<flags>B<);>\n"
 msgstr ""
-"B<int sched_getattr(pid_t >I<pid>B<, const struct sched_attr *>I<attr>B<,>\n"
+" B<int sched_getattr(pid_t >I<pid>B<, struct sched_attr *>I<attr>B<,>\n"
 "B<                  unsigned int >I<size>B<, unsigned int >I<flags>B<);>\n"
 
 #. type: SS
@@ -6223,10 +5569,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:119
-#, fuzzy
-#| msgid "The fields of this structure are as follows:"
 msgid "The fields of the I<sched_attr> structure are as follows:"
-msgstr "この構造体のフィールドは以下の通りである。"
+msgstr "構造体 I<sched_attr> のフィールドは以下の通りである。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:119
@@ -6302,10 +5646,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:158
-#, fuzzy, no-wrap
-#| msgid "B<SCHED_FIFO>"
+#, no-wrap
 msgid "B<SCHED_FLAG_RESET_ON_FORK>"
-msgstr "B<SCHED_FIFO>"
+msgstr " B<SCHED_FLAG_RESET_ON_FORK>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:166
@@ -6320,10 +5663,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:166
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_FILES> (since Linux 2.0)"
+#, no-wrap
 msgid "B<SCHED_FLAG_RECLAIM> (since Linux 4.13)"
-msgstr "B<CLONE_FILES> (Linux 2.0 以降)"
+msgstr "B<SCHED_FLAG_RECLAIM> (Linux 4.13 以降)"
 
 #.  2d4283e9d583a3ee8cfb1cbb9c1270614df4c29d
 #.  Bandwidth reclaim is done via the GRUB algorithm; see
@@ -6337,10 +5679,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:174
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_FILES> (since Linux 2.0)"
+#, no-wrap
 msgid "B<SCHED_FLAG_DL_OVERRUN> (since Linux 4.16)"
-msgstr "B<CLONE_FILES> (Linux 2.0 以降)"
+msgstr "B<SCHED_FLAG_DL_OVERRUN> (Linux 4.16 以降)"
 
 #.  commit 34be39305a77b8b1ec9f279163c7cdb6cc719b91
 #. type: Plain text
@@ -6372,21 +5713,12 @@ msgstr "I<sched_nice>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:212
-#, fuzzy
-#| msgid ""
-#| "This field specifies the nice value to be set when specifying "
-#| "I<sched_policy> as B<SCHED_OTHER> or B<SCHED_BATCH>.  The nice value is a "
-#| "number in the range -20 (high priority)  to +19 (low priority); see "
-#| "B<setpriority>(2)."
 msgid ""
 "This field specifies the nice value to be set when specifying "
 "I<sched_policy> as B<SCHED_OTHER> or B<SCHED_BATCH>.  The nice value is a "
 "number in the range -20 (high priority)  to +19 (low priority); see "
 "B<sched>(7)."
-msgstr ""
-"このフィールドは、 I<sched_policy> に B<SCHED_OTHER> か B<SCHED_BATCH> が指定"
-"された場合に設定される nice 値を指定する。 nice 値は -20 (高優先度) から +19 "
-"(低優先度) の範囲の数値である。 B<setpriority>(2) を参照。"
+msgstr "このフィールドは、 I<sched_policy> に B<SCHED_OTHER> か B<SCHED_BATCH> が指定された場合に設定される nice 値を指定する。 nice 値は -20 (高優先度) から +19 (低優先度) の範囲の数値である。 B<sched>(7) を参照。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:212
@@ -6630,16 +5962,10 @@ msgstr "呼び出した元が適切な特権を持っていない。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:386
-#, fuzzy
-#| msgid ""
-#| "The caller's CPU affinity mask does not include all CPUs in the system "
-#| "(see B<sched_setaffinity>(2))."
 msgid ""
 "The CPU affinity mask of the thread specified by I<pid> does not include all "
 "CPUs in the system (see B<sched_setaffinity>(2))."
-msgstr ""
-"呼び出し元の CPU affinity マスクにシステムの全ての CPU のうち含まれていないも"
-"のがある (B<sched_setaffinity>(2) を参照)。"
+msgstr "I<pid> で指定されたスレッドの CPU affinity マスクにシステムの全ての CPU のうち含まれていないものがある (B<sched_setaffinity>(2) を参照)。"
 
 #.  FIXME . Add glibc version
 #. type: Plain text
@@ -6673,16 +5999,10 @@ msgstr ""
 #.  FIXME . patch sent to Peter Zijlstra
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:417
-#, fuzzy
-#| msgid ""
-#| "In Linux versions up to 3.15, B<sched_settattr>()  failed with the error "
-#| "B<EFAULT> instead of B<E2BIG> for the case described in ERRORS."
 msgid ""
 "In Linux versions up to 3.15, B<sched_setattr>()  failed with the error "
 "B<EFAULT> instead of B<E2BIG> for the case described in ERRORS."
-msgstr ""
-"バージョン 3.15 までの Linux では、 B<sched_settattr>() は、 エラーの節に書か"
-"れている B<E2BIG> の場合にエラーB<EFAULT> で失敗していた。"
+msgstr "バージョン 3.15 までの Linux では、 B<sched_setattr>() は、 エラーの節に書かれている B<E2BIG> の場合にエラーB<EFAULT> で失敗していた。"
 
 #.  In Linux versions up to up 3.15,
 #.  FIXME . patch from Peter Zijlstra pending
@@ -6706,16 +6026,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:455
-#, fuzzy
-#| msgid ""
-#| "B<chrt>(1), B<nice>(2), B<sched_get_priority_max>(2), "
-#| "B<sched_get_priority_min>(2), B<sched_getaffinity>(2), "
-#| "B<sched_getscheduler>(2), B<sched_getparam>(2), "
-#| "B<sched_rr_get_interval>(2), B<sched_setaffinity>(2), "
-#| "B<sched_setscheduler>(2), B<sched_setparam>(2), B<sched_yield>(2), "
-#| "B<setpriority>(2), B<pthread_getschedparam>(3), "
-#| "B<pthread_setschedparam>(3), B<pthread_setschedprio>(3), "
-#| "B<capabilities>(7), B<cpuset>(7), B<sched>(7)"
 msgid ""
 "B<chrt>(1), B<nice>(2), B<sched_get_priority_max>(2), "
 "B<sched_get_priority_min>(2), B<sched_getaffinity>(2), B<sched_getparam>(2), "
@@ -6724,14 +6034,7 @@ msgid ""
 "B<sched_yield>(2), B<setpriority>(2), B<pthread_getschedparam>(3), "
 "B<pthread_setschedparam>(3), B<pthread_setschedprio>(3), B<capabilities>(7), "
 "B<cpuset>(7), B<sched>(7)"
-msgstr ""
-"B<chrt>(1), B<nice>(2), B<sched_get_priority_max>(2), "
-"B<sched_get_priority_min>(2), B<sched_getaffinity>(2), "
-"B<sched_getscheduler>(2), B<sched_getparam>(2), B<sched_rr_get_interval>(2), "
-"B<sched_setaffinity>(2), B<sched_setscheduler>(2), B<sched_setparam>(2), "
-"B<sched_yield>(2), B<setpriority>(2), B<pthread_getschedparam>(3), "
-"B<pthread_setschedparam>(3), B<pthread_setschedprio>(3), B<capabilities>(7), "
-"B<cpuset>(7), B<sched>(7)"
+msgstr " B<chrt>(1), B<nice>(2), B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), B<sched_getaffinity>(2), B<sched_getparam>(2), B<sched_getscheduler>(2), B<sched_rr_get_interval>(2), B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2), B<sched_yield>(2), B<setpriority>(2), B<pthread_getschedparam>(3), B<pthread_setschedparam>(3), B<pthread_setschedprio>(3), B<capabilities>(7), B<cpuset>(7), B<sched>(7)"
 
 #. type: TH
 #: build/C/man2/sched_setparam.2:30
@@ -6741,10 +6044,9 @@ msgstr "SCHED_SETPARAM"
 
 #. type: TH
 #: build/C/man2/sched_setparam.2:30
-#, fuzzy, no-wrap
-#| msgid "2014-10-02"
+#, no-wrap
 msgid "2019-10-10"
-msgstr "2014-10-02"
+msgstr " 2019-10-10"
 
 #. type: Plain text
 #: build/C/man2/sched_setparam.2:33
@@ -6808,19 +6110,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setparam.2:66
-#, fuzzy
-#| msgid ""
-#| "B<sched_getparam>()  retrieves the scheduling parameters for the process "
-#| "identified by I<pid>.  If I<pid> is zero, then the parameters of the "
-#| "calling process are retrieved."
 msgid ""
 "B<sched_getparam>()  retrieves the scheduling parameters for the thread "
 "identified by I<pid>.  If I<pid> is zero, then the parameters of the calling "
 "thread are retrieved."
-msgstr ""
-"B<sched_getparam>()  は I<pid> で指定されたプロセスのスケジューリングパラメー"
-"ターを取得する。 I<pid> が 0 ならば、呼び出し元のプロセスのパラメーターを取得"
-"する。"
+msgstr "B<sched_getparam>()  は I<pid> で指定されたスレッドのスケジューリングパラメーターを取得する。 I<pid> が 0 ならば、呼び出し元のスレッドのパラメーターを取得する。"
 
 #. type: Plain text
 #: build/C/man2/sched_setparam.2:75
@@ -6879,36 +6173,19 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setparam.2:116
-#, fuzzy
-#| msgid ""
-#| "(B<sched_setparam>())  The calling process does not have appropriate "
-#| "privileges (Linux: does not have the B<CAP_SYS_NICE> capability)."
 msgid ""
 "(B<sched_setparam>())  The caller does not have appropriate privileges "
 "(Linux: does not have the B<CAP_SYS_NICE> capability)."
-msgstr ""
-"(B<sched_setparam>()) 呼び出し元のプロセスが適切な特権を持っていない (Linux "
-"では、 B<CAP_SYS_NICE> ケーパビリティを持っていない)。"
+msgstr "(B<sched_setparam>()) 呼び出し元が適切な特権を持っていない (Linux では、 B<CAP_SYS_NICE> ケーパビリティを持っていない)。"
 
 #. type: Plain text
 #: build/C/man2/sched_setparam.2:137
-#, fuzzy
-#| msgid ""
-#| "B<getpriority>(2), B<nice>(2), B<sched_get_priority_max>(2), "
-#| "B<sched_get_priority_min>(2), B<sched_getaffinity>(2), "
-#| "B<sched_getscheduler>(2), B<sched_setaffinity>(2), "
-#| "B<sched_setscheduler>(2), B<sched_setattr>(2), B<setpriority>(2), "
-#| "B<capabilities>(7), B<sched>(7)"
 msgid ""
 "B<getpriority>(2), B<gettid>(2), B<nice>(2), B<sched_get_priority_max>(2), "
 "B<sched_get_priority_min>(2), B<sched_getaffinity>(2), "
 "B<sched_getscheduler>(2), B<sched_setaffinity>(2), B<sched_setattr>(2), "
 "B<sched_setscheduler>(2), B<setpriority>(2), B<capabilities>(7), B<sched>(7)"
-msgstr ""
-"B<getpriority>(2), B<nice>(2), B<sched_get_priority_max>(2), "
-"B<sched_get_priority_min>(2), B<sched_getaffinity>(2), "
-"B<sched_getscheduler>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
-"B<sched_setattr>(2), B<setpriority>(2), B<capabilities>(7), B<sched>(7)"
+msgstr " B<getpriority>(2), B<gettid>(2), B<nice>(2), B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), B<sched_getaffinity>(2), B<sched_getscheduler>(2), B<sched_setaffinity>(2), B<sched_setattr>(2), B<sched_setscheduler>(2), B<setpriority>(2), B<capabilities>(7), B<sched>(7)"
 
 #. type: TH
 #: build/C/man2/sched_setscheduler.2:26
@@ -6927,16 +6204,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:36
-#, fuzzy, no-wrap
-#| msgid ""
-#| "B<int sched_setaffinity(pid_t >I<pid>B<, size_t >I<cpusetsize>B<,>\n"
-#| "B<                      const cpu_set_t *>I<mask>B<);>\n"
+#, no-wrap
 msgid ""
 "B<int sched_setscheduler(pid_t >I<pid>B<, int >I<policy>B<,>\n"
 "B<                       const struct sched_param *>I<param>B<);>\n"
 msgstr ""
-"B<int sched_setaffinity(pid_t >I<pid>B<, size_t >I<cpusetsize>B<,>\n"
-"B<                      const cpu_set_t *>I<mask>B<);>\n"
+" B<int sched_setscheduler(pid_t >I<pid>B<, int >I<policy>B<,>\n"
+"B<                       const struct sched_param *>I<param>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:38
@@ -7076,16 +6350,10 @@ msgstr "呼び出したスレッドが適切な特権を持っていない。"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:171
-#, fuzzy
-#| msgid ""
-#| "POSIX.1-2001 (but see BUGS below).  The B<SCHED_BATCH> and B<SCHED_IDLE> "
-#| "policies are Linux-specific."
 msgid ""
 "POSIX.1-2001, POSIX.1-2008 (but see BUGS below).  The B<SCHED_BATCH> and "
 "B<SCHED_IDLE> policies are Linux-specific."
-msgstr ""
-"POSIX.1-2001 (但し、下記のバグの節も参照)。 B<SCHED_BATCH> と B<SCHED_IDLE> "
-"ポリシーは Linux 固有である。"
+msgstr "POSIX.1-2001, POSIX.1-2008 (但し、下記のバグの節も参照)。 B<SCHED_BATCH> と B<SCHED_IDLE> ポリシーは Linux 固有である。"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:180
@@ -7150,19 +6418,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:225
-#, fuzzy
-#| msgid ""
-#| "POSIX says that on success, B<sched_setscheduler>()  should return the "
-#| "previous scheduling policy.  Linux B<sched_setscheduler>()  does not "
-#| "conform to this requirement, since it always returns 0 on success."
 msgid ""
 "POSIX.1 says that on success, B<sched_setscheduler>()  should return the "
 "previous scheduling policy.  Linux B<sched_setscheduler>()  does not conform "
 "to this requirement, since it always returns 0 on success."
-msgstr ""
-"POSIX では、成功時に B<sched_setscheduler>()  は直前のスケジューリングポリ"
-"シーを返すべきとされている。 Linux の B<sched_setscheduler>()  はこの要求仕様"
-"に準拠しておらず、 成功時には常に 0 を返す。"
+msgstr "POSIX.1 では、成功時に B<sched_setscheduler>()  は直前のスケジューリングポリシーを返すべきとされている。 Linux の B<sched_setscheduler>()  はこの要求仕様に準拠しておらず、 成功時には常に 0 を返す。"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:244
@@ -7276,14 +6536,12 @@ msgstr "SCHED"
 #: build/C/man7/sched.7:32
 #, no-wrap
 msgid "2019-08-02"
-msgstr ""
+msgstr "2019-08-02"
 
 #. type: Plain text
 #: build/C/man7/sched.7:35
-#, fuzzy
-#| msgid "sched - overview of scheduling APIs"
 msgid "sched - overview of CPU scheduling"
-msgstr "sched - スケジューリング API の概要"
+msgstr "sched - CPU スケジューリングの概要"
 
 #. type: Plain text
 #: build/C/man7/sched.7:40
@@ -7319,10 +6577,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/sched.7:48
-#, fuzzy, no-wrap
-#| msgid "B<sched_get_priority_max>(2)"
+#, no-wrap
 msgid "B<getpriority>(2)"
-msgstr "B<sched_get_priority_max>(2)"
+msgstr " B<getpriority>(2)"
 
 #. type: Plain text
 #: build/C/man7/sched.7:52
@@ -7333,10 +6590,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/sched.7:52
-#, fuzzy, no-wrap
-#| msgid "B<sched_get_priority_max>(2)"
+#, no-wrap
 msgid "B<setpriority>(2)"
-msgstr "B<sched_get_priority_max>(2)"
+msgstr " B<setpriority>(2)"
 
 #. type: Plain text
 #: build/C/man7/sched.7:56
@@ -7531,17 +6787,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/sched.7:132
-#, fuzzy
-#| msgid ""
-#| "Processes scheduled under one of the real-time policies (B<SCHED_FIFO>, "
-#| "B<SCHED_RR>) have a I<sched_priority> value in the range 1 (low) to 99 "
-#| "(high).  (As the numbers imply, real-time threads always have higher "
-#| "priority than normal threads.)  Note well: POSIX.1-2001 requires an "
-#| "implementation to support only a minimum 32 distinct priority levels for "
-#| "the real-time policies, and some systems supply just this minimum.  "
-#| "Portable programs should use B<sched_get_priority_min>(2)  and "
-#| "B<sched_get_priority_max>(2)  to find the range of priorities supported "
-#| "for a particular policy."
 msgid ""
 "Processes scheduled under one of the real-time policies (B<SCHED_FIFO>, "
 "B<SCHED_RR>) have a I<sched_priority> value in the range 1 (low) to 99 "
@@ -7552,16 +6797,7 @@ msgid ""
 "programs should use B<sched_get_priority_min>(2)  and "
 "B<sched_get_priority_max>(2)  to find the range of priorities supported for "
 "a particular policy."
-msgstr ""
-"リアルタイムスケジューリングポリシー (B<SCHED_FIFO>, B<SCHED_RR>)  の下でスケ"
-"ジューリングされるスレッドは、 I<sched_priority> の値は 1 (最低) から 99 (最"
-"高) の範囲となる (数字から分かるように、リアルタイムスレッドは常に通常のス"
-"レッドよりも 高い優先度を持つ)。 ここで注意すべきなのは、POSIX.1-2001 が要求"
-"しているのは、 リアルタイムポリシーの実装において最低 32 種類の異なる優先度レ"
-"ベルが サポートされることだけであり、いくつかのシステムではこの最低限の数の "
-"優先度しか提供されていない、ということである。 移植性が必要なプログラムで"
-"は、 B<sched_get_priority_min>(2)  と B<sched_get_priority_max>(2)  を使っ"
-"て、あるポリシーがサポートする優先度の範囲を調べるべきである。"
+msgstr "リアルタイムスケジューリングポリシー (B<SCHED_FIFO>, B<SCHED_RR>)  の下でスケジューリングされるスレッドは、 I<sched_priority> の値は 1 (最低) から 99 (最高) の範囲となる (数字から分かるように、リアルタイムスレッドは常に通常のスレッドよりも 高い優先度を持つ)。 ここで注意すべきなのは、POSIX.1 が要求しているのは、 リアルタイムポリシーの実装において最低 32 種類の異なる優先度レベルが サポートされることだけであり、いくつかのシステムではこの最低限の数の 優先度しか提供されていない、ということである。 移植性が必要なプログラムでは、 B<sched_get_priority_min>(2)  と B<sched_get_priority_max>(2)  を使って、あるポリシーがサポートする優先度の範囲を調べるべきである。"
 
 #. type: Plain text
 #: build/C/man7/sched.7:138
@@ -7610,14 +6846,6 @@ msgstr "SCHED_FIFO: ファーストインファーストアウトスケジュー
 
 #. type: Plain text
 #: build/C/man7/sched.7:159
-#, fuzzy
-#| msgid ""
-#| "B<SCHED_FIFO> can be used only with static priorities higher than 0, "
-#| "which means that when a B<SCHED_FIFO> threads becomes runnable, it will "
-#| "always immediately preempt any currently running B<SCHED_OTHER>, "
-#| "B<SCHED_BATCH>, or B<SCHED_IDLE> thread.  B<SCHED_FIFO> is a simple "
-#| "scheduling algorithm without time slicing.  For threads scheduled under "
-#| "the B<SCHED_FIFO> policy, the following rules apply:"
 msgid ""
 "B<SCHED_FIFO> can be used only with static priorities higher than 0, which "
 "means that when a B<SCHED_FIFO> thread becomes runnable, it will always "
@@ -7635,54 +6863,36 @@ msgstr ""
 
 #. type: IP
 #: build/C/man7/sched.7:159
-#, fuzzy, no-wrap
-#| msgid "1"
+#, no-wrap
 msgid "1)"
-msgstr "1"
+msgstr " 1)"
 
 #. type: Plain text
 #: build/C/man7/sched.7:164
-#, fuzzy
-#| msgid ""
-#| "A B<SCHED_FIFO> thread that has been preempted by another thread of "
-#| "higher priority will stay at the head of the list for its priority and "
-#| "will resume execution as soon as all threads of higher priority are "
-#| "blocked again."
 msgid ""
 "A running B<SCHED_FIFO> thread that has been preempted by another thread of "
 "higher priority will stay at the head of the list for its priority and will "
 "resume execution as soon as all threads of higher priority are blocked again."
-msgstr ""
-"より高い優先度の他のスレッドによって取って代わられた B<SCHED_FIFO> スレッドは"
-"その優先度のリストの先頭に留まり続け、 より高い優先度のスレッド全てが停止 "
-"(block) した場合に実行を再開する。"
+msgstr "より高い優先度の他のスレッドによって取って代わられた実行中の B<SCHED_FIFO> スレッドはその優先度のリストの先頭に留まり続け、 より高い優先度のスレッド全てが停止 (block) した場合に実行を再開する。"
 
 #. type: IP
 #: build/C/man7/sched.7:164
-#, fuzzy, no-wrap
-#| msgid "2"
+#, no-wrap
 msgid "2)"
-msgstr "2"
+msgstr " 2)"
 
 #. type: Plain text
 #: build/C/man7/sched.7:167
-#, fuzzy
-#| msgid ""
-#| "When a B<SCHED_FIFO> thread becomes runnable, it will be inserted at the "
-#| "end of the list for its priority."
 msgid ""
 "When a blocked B<SCHED_FIFO> thread becomes runnable, it will be inserted at "
 "the end of the list for its priority."
-msgstr ""
-"B<SCHED_FIFO> スレッドが実行可能になった時、その優先度のリストの最後 に挿入さ"
-"れる。"
+msgstr "停止された B<SCHED_FIFO> スレッドが実行可能になった時、その優先度のリストの最後 に挿入される。"
 
 #. type: IP
 #: build/C/man7/sched.7:167
-#, fuzzy, no-wrap
-#| msgid "3"
+#, no-wrap
 msgid "3)"
-msgstr "3"
+msgstr " 3)"
 
 #. type: Plain text
 #: build/C/man7/sched.7:181
@@ -7919,13 +7129,6 @@ msgstr ""
 #.  This needs to be documented.
 #. type: Plain text
 #: build/C/man7/sched.7:327
-#, fuzzy
-#| msgid ""
-#| "The three deadline-scheduling parameters correspond to the "
-#| "I<sched_runtime>, I<sched_deadline>, and I<sched_period> fields of the "
-#| "I<sched_attr> structure; see B<sched_setattr>(2).  These fields express "
-#| "value in nanoseconds.  If I<sched_period> is specified as 0, then it is "
-#| "made the same as I<sched_deadline>."
 msgid ""
 "The three deadline-scheduling parameters correspond to the I<sched_runtime>, "
 "I<sched_deadline>, and I<sched_period> fields of the I<sched_attr> "
@@ -7974,14 +7177,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/sched.7:357
-#, fuzzy
-#| msgid ""
-#| "To ensure deadline scheduling guarantees, the kernel must prevent "
-#| "situations where the set of B<SCHED_DEADLINE> threads is not feasible "
-#| "(schedulable) within the given constraints.  The kernel thus performs an "
-#| "admittance test when setting or changing B<SCHED_DEADLINE> policy and "
-#| "attributes.  This admission test calculates whether the change is "
-#| "feasible; if it is not B<sched_setattr>(2)  fails with the error B<EBUSY>."
 msgid ""
 "To ensure deadline scheduling guarantees, the kernel must prevent situations "
 "where the set of B<SCHED_DEADLINE> threads is not feasible (schedulable) "
@@ -8013,13 +7208,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/sched.7:374
-#, fuzzy
-#| msgid ""
-#| "In order to fulfil the guarantees that are made when a thread is admitted "
-#| "to the B<SCHED_DEADLINE> policy, B<SCHED_DEADLINE> threads are the "
-#| "highest priority (user controllable) threads in the system; if any "
-#| "B<SCHED_DEADLINE> thread is runnable, it will preempt any thread "
-#| "scheduled under one of the other policies."
 msgid ""
 "In order to fulfill the guarantees that are made when a thread is admitted "
 "to the B<SCHED_DEADLINE> policy, B<SCHED_DEADLINE> threads are the highest "
@@ -8034,11 +7222,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/sched.7:382
-#, fuzzy
-#| msgid ""
-#| "A call to B<fork>(2)  by a thread scheduled under the B<SCHED_DEADLINE> "
-#| "policy will fail with the error B<EAGAIN>, unless the thread has its "
-#| "reset-on-fork flag set (see below)."
 msgid ""
 "A call to B<fork>(2)  by a thread scheduled under the B<SCHED_DEADLINE> "
 "policy fails with the error B<EAGAIN>, unless the thread has its reset-on-"
@@ -8114,10 +7297,9 @@ msgstr ""
 
 #. type: SS
 #: build/C/man7/sched.7:415
-#, fuzzy, no-wrap
-#| msgid "The call"
+#, no-wrap
 msgid "The nice value"
-msgstr "呼び出し"
+msgstr "nice 値"
 
 #. type: Plain text
 #: build/C/man7/sched.7:429
@@ -8431,15 +7613,6 @@ msgstr ""
 #.  commit c02aa73b1d18e43cfd79c2f193b225e84ca497c8
 #. type: Plain text
 #: build/C/man7/sched.7:626
-#, fuzzy
-#| msgid ""
-#| "Special rules apply for the B<SCHED_IDLE> policy.  In Linux kernels "
-#| "before 2.6.39, an unprivileged thread operating under this policy cannot "
-#| "change its policy, regardless of the value of its B<RLIMIT_RTPRIO> "
-#| "resource limit.  In Linux kernels since 2.6.39, an unprivileged thread "
-#| "can switch to either the B<SCHED_BATCH> or the B<SCHED_NORMAL> policy so "
-#| "long as its nice value falls within the range permitted by its "
-#| "B<RLIMIT_NICE> resource limit (see B<getrlimit>(2))."
 msgid ""
 "Special rules apply for the B<SCHED_IDLE> policy.  In Linux kernels before "
 "2.6.39, an unprivileged thread operating under this policy cannot change its "
@@ -8448,14 +7621,7 @@ msgid ""
 "B<SCHED_BATCH> or the B<SCHED_OTHER> policy so long as its nice value falls "
 "within the range permitted by its B<RLIMIT_NICE> resource limit (see "
 "B<getrlimit>(2))."
-msgstr ""
-"B<SCHED_IDLE> ポリシーの場合には特別なルールが適用される。 2.6.39 より前の "
-"Linux カーネルでは、このポリシーで動作する非特権スレッドは、 "
-"B<RLIMIT_RTPRIO> リソース上限の値に関わらず、自分のポリシーを変更することがで"
-"きない。 2.6.39 以降の Linux カーネルでは、非特権スレッドは、自分の nice 値"
-"が B<RLIMIT_NICE> リソース上限 (B<getrlimit>(2) 参照) で許可された範囲である"
-"限りは、自分のスケジューリングポリシーを B<SCHED_BATCH> か B<SCHED_NORMAL> ポ"
-"リシーに切り替えることができる。"
+msgstr "B<SCHED_IDLE> ポリシーの場合には特別なルールが適用される。 2.6.39 より前の Linux カーネルでは、このポリシーで動作する非特権スレッドは、 B<RLIMIT_RTPRIO> リソース上限の値に関わらず、自分のポリシーを変更することができない。 2.6.39 以降の Linux カーネルでは、非特権スレッドは、自分の nice 値が B<RLIMIT_NICE> リソース上限 (B<getrlimit>(2) 参照) で許可された範囲である限りは、自分のスケジューリングポリシーを B<SCHED_BATCH> か B<SCHED_OTHER> ポリシーに切り替えることができる。"
 
 #. type: Plain text
 #: build/C/man7/sched.7:637
@@ -8518,13 +7684,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/sched.7:668
-#, fuzzy
-#| msgid ""
-#| "Since version 2.6.25, Linux also provides two I</proc> files that can be "
-#| "used to reserve a certain amount of CPU time to be used by non-real-time "
-#| "processes.  Reserving some CPU time in this fashion allows some CPU time "
-#| "to be allocated to (say) a root shell that can be used to kill a runaway "
-#| "process.  Both of these files specify time values in microseconds:"
 msgid ""
 "Since version 2.6.25, Linux also provides two I</proc> files that can be "
 "used to reserve a certain amount of CPU time to be used by non-real-time "
@@ -8565,16 +7724,6 @@ msgstr "I</proc/sys/kernel/sched_rt_runtime_us>"
 
 #. type: Plain text
 #: build/C/man7/sched.7:689
-#, fuzzy
-#| msgid ""
-#| "The value in this file specifies how much of the \"period\" time can be "
-#| "used by all real-time and deadline scheduled processes on the system.  "
-#| "The value in this file can range from -1 to B<INT_MAX>-1.  Specifying -1 "
-#| "makes the runtime the same as the period; that is, no CPU time is set "
-#| "aside for non-real-time processes (which was the Linux behavior before "
-#| "kernel 2.6.25).  The default value in this file is 950,000 (0.95 "
-#| "seconds), meaning that 5% of the CPU time is reserved for processes that "
-#| "don't run under a real-time or deadline scheduling policy."
 msgid ""
 "The value in this file specifies how much of the \"period\" time can be used "
 "by all real-time and deadline scheduled processes on the system.  The value "
@@ -8990,17 +8139,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/sched.7:998
-#, fuzzy
-#| msgid ""
-#| "B<chrt>(1), B<taskset>(1), B<getpriority>(2), B<mlock>(2), "
-#| "B<mlockall>(2), B<munlock>(2), B<munlockall>(2), B<nice>(2), "
-#| "B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), "
-#| "B<sched_getscheduler>(2), B<sched_getaffinity>(2), B<sched_getparam>(2), "
-#| "B<sched_rr_get_interval>(2), B<sched_setaffinity>(2), "
-#| "B<sched_setscheduler>(2), B<sched_setparam>(2), B<sched_yield>(2), "
-#| "B<setpriority>(2), B<pthread_getaffinity_np>(3), "
-#| "B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), B<capabilities>(7), "
-#| "B<cpuset>(7)"
 msgid ""
 "B<chcpu>(1), B<chrt>(1), B<lscpu>(1), B<ps>(1), B<taskset>(1), B<top>(1), "
 "B<getpriority>(2), B<mlock>(2), B<mlockall>(2), B<munlock>(2), "
@@ -9011,28 +8149,14 @@ msgid ""
 "B<sched_yield>(2), B<setpriority>(2), B<pthread_getaffinity_np>(3), "
 "B<pthread_getschedparam>(3), B<pthread_setaffinity_np>(3), "
 "B<sched_getcpu>(3), B<capabilities>(7), B<cpuset>(7)"
-msgstr ""
-"B<chrt>(1), B<taskset>(1), B<getpriority>(2), B<mlock>(2), B<mlockall>(2), "
-"B<munlock>(2), B<munlockall>(2), B<nice>(2), B<sched_get_priority_max>(2), "
-"B<sched_get_priority_min>(2), B<sched_getscheduler>(2), "
-"B<sched_getaffinity>(2), B<sched_getparam>(2), B<sched_rr_get_interval>(2), "
-"B<sched_setaffinity>(2), B<sched_setscheduler>(2), B<sched_setparam>(2), "
-"B<sched_yield>(2), B<setpriority>(2), B<pthread_getaffinity_np>(3), "
-"B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), B<capabilities>(7), "
-"B<cpuset>(7)"
+msgstr " B<chcpu>(1), B<chrt>(1), B<lscpu>(1), B<ps>(1), B<taskset>(1), B<top>(1), B<getpriority>(2), B<mlock>(2), B<mlockall>(2), B<munlock>(2), B<munlockall>(2), B<nice>(2), B<sched_get_priority_max>(2), B<sched_get_priority_min>(2), B<sched_getaffinity>(2), B<sched_getparam>(2), B<sched_getscheduler>(2), B<sched_rr_get_interval>(2), B<sched_setaffinity>(2), B<sched_setparam>(2), B<sched_setscheduler>(2), B<sched_yield>(2), B<setpriority>(2), B<pthread_getaffinity_np>(3), B<pthread_getschedparam>(3), B<pthread_setaffinity_np>(3), B<sched_getcpu>(3), B<capabilities>(7), B<cpuset>(7)"
 
 #. type: Plain text
 #: build/C/man7/sched.7:1002
-#, fuzzy
-#| msgid ""
-#| "I<Programming for the real world - POSIX.4> by Bill O. Gallmeister, "
-#| "O'Reilly & Associates, Inc., ISBN 1-56592-074-0."
 msgid ""
 "I<Programming for the real world - POSIX.4> by Bill O.\\& Gallmeister, "
 "O'Reilly & Associates, Inc., ISBN 1-56592-074-0."
-msgstr ""
-"I<Programming for the real world - POSIX.4> by Bill O. Gallmeister, O'Reilly "
-"& Associates, Inc., ISBN 1-56592-074-0."
+msgstr "I<Programming for the real world - POSIX.4> by Bill O.\\& Gallmeister, O'Reilly & Associates, Inc., ISBN 1-56592-074-0."
 
 #. type: Plain text
 #: build/C/man7/sched.7:1009
@@ -9110,19 +8234,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setns.2:59
-#, fuzzy
-#| msgid ""
-#| "The I<nstype> argument specifies which type of namespace the calling "
-#| "thread may be reassociated with.  This argument can have one of the "
-#| "following values:"
 msgid ""
 "The I<nstype> argument specifies which type of namespace the calling thread "
 "may be reassociated with.  This argument can have I<one> of the following "
 "values:"
-msgstr ""
-"I<nstype> 引き数は、呼び出したスレッドがどのタイプの名前空間を\n"
-"関連付けしなおすことができるかを指定する。\n"
-"この引き数には以下のいずれかの値を指定できる。"
+msgstr "I<nstype> 引き数は、呼び出したスレッドがどのタイプの名前空間を関連付けしなおすことができるかを指定する。この引き数には以下の「いずれか」の値を指定できる。"
 
 #. type: TP
 #: build/C/man2/setns.2:59
@@ -9137,10 +8253,8 @@ msgstr "どのタイプの名前空間も関連付けることができる。"
 
 #. type: Plain text
 #: build/C/man2/setns.2:66
-#, fuzzy
-#| msgid "I<fd> must refer to a mount namespace."
 msgid "I<fd> must refer to a cgroup namespace."
-msgstr "I<fd> はマウント名前空間を参照していなければならない。"
+msgstr "I<fd> は cgroup 名前空間を参照していなければならない。"
 
 #. type: TP
 #: build/C/man2/setns.2:66
@@ -9188,10 +8302,9 @@ msgstr "I<fd> は子孫の PID 名前空間を参照していなければなら
 
 #. type: TP
 #: build/C/man2/setns.2:82
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_NEWPID> (since Linux 3.8)"
+#, no-wrap
 msgid "B<CLONE_NEWTIME> (since Linux 5.8)"
-msgstr "B<CLONE_NEWPID> (Linux 3.8 以降)"
+msgstr "B<CLONE_NEWTIME> (Linux 5.8 以降)"
 
 #.  commit 76c12881a38aaa83e1eb4ce2fada36c3a732bad4
 #. type: Plain text
@@ -9340,9 +8453,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setns.2:184
-#, fuzzy
-#| msgid ""
-#| "For further information on user namespaces, see B<user_namespaces>(7)."
 msgid "For further details on user namespaces, see B<user_namespaces>(7)."
 msgstr "ユーザー名前空間の詳細は B<user_namespaces>(7) を参照。"
 
@@ -9424,10 +8534,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setns.2:226
-#, fuzzy
-#| msgid "For further information on IPC namespaces, see B<namespaces>(7)."
 msgid "For further details on PID namespaces, see B<pid_namespaces>(7)."
-msgstr "IPC 名前空間の詳細は B<namespaces>(7) を参照。"
+msgstr "PID 名前空間の詳細は B<pid_namespaces>(7) を参照。"
 
 #. type: TP
 #: build/C/man2/setns.2:226
@@ -9494,10 +8602,6 @@ msgstr "スレッドを指定された名前空間に関連付けし直す際に
 
 #. type: Plain text
 #: build/C/man2/setns.2:271
-#, fuzzy
-#| msgid ""
-#| "The caller tried to join an ancestor (parent, grandparent, etc...)  pid "
-#| "namespace."
 msgid ""
 "The caller tried to join an ancestor (parent, grandparent, and so on)  PID "
 "namespace."
@@ -9570,12 +8674,10 @@ msgstr "B<setns>() システムコールは Linux 固有である。"
 
 #. type: Plain text
 #: build/C/man2/setns.2:318
-#, fuzzy
-#| msgid "For further information on mount namespaces, see B<namespaces>(7)."
 msgid ""
 "For further information on the I</proc/[pid]/ns/> magic links, see "
 "B<namespaces>(7)."
-msgstr "ã\83\9eã\82¦ã\83³ã\83\88å\90\8då\89\8d空é\96\93の詳細は B<namespaces>(7) を参照。"
+msgstr "ã\83\9eã\82¸ã\83\83ã\82¯ã\83ªã\83³ã\82° I</proc/[pid]/ns/> の詳細は B<namespaces>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man2/setns.2:324
@@ -9731,40 +8833,29 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setns.2:407
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    fd = open(argv[1], O_RDONLY);  /* Get descriptor for namespace */\n"
-#| "    if (fd == -1)\n"
-#| "        errExit(\"open\");\n"
+#, no-wrap
 msgid ""
 "    fd = open(argv[1], O_RDONLY | O_CLOEXEC);\n"
 "    if (fd == -1)\n"
 "        errExit(\"open\");\n"
 msgstr ""
-"    fd = open(argv[1], O_RDONLY);  /* 名前空間のディスクリプターを取得 */\n"
+"    fd = open(argv[1], O_RDONLY | O_CLOEXEC);\n"
 "    if (fd == -1)\n"
 "        errExit(\"open\");\n"
 
 #. type: Plain text
 #: build/C/man2/setns.2:410
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (setns(fd, 0) == -1)        /* Join that namespace */\n"
-#| "        errExit(\"setns\");\n"
+#, no-wrap
 msgid ""
 "    if (setns(fd, 0) == -1)       /* Join that namespace */\n"
 "        errExit(\"setns\");\n"
 msgstr ""
-"    if (setns(fd, 0) == -1)        /* 名前空間に参加 */\n"
+"    if (setns(fd, 0) == -1)       /* 名前空間に参加 */\n"
 "        errExit(\"setns\");\n"
 
 #. type: Plain text
 #: build/C/man2/setns.2:414
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    execvp(argv[2], &argv[2]);     /* Execute a command in namespace */\n"
-#| "    errExit(\"execvp\");\n"
-#| "}\n"
+#, no-wrap
 msgid ""
 "    execvp(argv[2], &argv[2]);    /* Execute a command in namespace */\n"
 "    errExit(\"execvp\");\n"
@@ -9776,16 +8867,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setns.2:423
-#, fuzzy
-#| msgid ""
-#| "B<clone>(2), B<fork>(2), B<unshare>(2), B<vfork>(2), B<namespaces>(7), "
-#| "B<unix>(7)"
 msgid ""
 "B<nsenter>(1), B<clone>(2), B<fork>(2), B<unshare>(2), B<vfork>(2), "
 "B<namespaces>(7), B<unix>(7)"
-msgstr ""
-"B<clone>(2), B<fork>(2), B<unshare>(2), B<vfork>(2), B<namespaces>(7), "
-"B<unix>(7)"
+msgstr " B<nsenter>(1), B<clone>(2), B<fork>(2), B<unshare>(2), B<vfork>(2), B<namespaces>(7), B<unix>(7)"
 
 #. type: TH
 #: build/C/man2/unshare.2:20
@@ -9795,10 +8880,9 @@ msgstr "UNSHARE"
 
 #. type: TH
 #: build/C/man2/unshare.2:20
-#, fuzzy, no-wrap
-#| msgid "2014-04-28"
+#, no-wrap
 msgid "2020-04-11"
-msgstr "2014-04-28"
+msgstr " 2020-04-11"
 
 #. type: Plain text
 #: build/C/man2/unshare.2:23
@@ -9813,14 +8897,6 @@ msgstr "B<int unshare(int >I<flags>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/unshare.2:42
-#, fuzzy
-#| msgid ""
-#| "B<unshare>()  allows a process to disassociate parts of its execution "
-#| "context that are currently being shared with other processes.  Part of "
-#| "the execution context, such as the mount namespace, is shared implicitly "
-#| "when a new process is created using B<fork>(2)  or B<vfork>(2), while "
-#| "other parts, such as virtual memory, may be shared by explicit request "
-#| "when creating a process using B<clone>(2)."
 msgid ""
 "B<unshare>()  allows a process (or thread) to disassociate parts of its "
 "execution context that are currently being shared with other processes (or "
@@ -9828,13 +8904,7 @@ msgid ""
 "shared implicitly when a new process is created using B<fork>(2)  or "
 "B<vfork>(2), while other parts, such as virtual memory, may be shared by "
 "explicit request when creating a process or thread using B<clone>(2)."
-msgstr ""
-"B<unshare>()  を使うと、プロセスは他のプロセスと現在共有している 実行コンテキ"
-"ストの一部を分離することができる。 実行コンテキストの一部、たとえばマウント名"
-"前空間 (mount namespace)  などは、新しいプロセスを B<fork>(2)  または "
-"B<vfork>(2)  を使って生成したときに、暗黙のうちに共有される。 一方、仮想メモ"
-"リーなどは、 B<clone>(2)  を使ってプロセスを生成するときに、明示的に共有する"
-"ことを要求できる。"
+msgstr "B<unshare>() を使うと、プロセス (やスレッド) は他のプロセス (やスレッド) と現在共有している 実行コンテキストの一部を分離することができる。 実行コンテキストの一部、たとえばマウント名前空間 (mount namespace)  などは、新しいプロセスを B<fork>(2)  または B<vfork>(2)  を使って生成したときに、暗黙のうちに共有される。 一方、仮想メモリーなどは、 B<clone>(2) を使ってプロセスやスレッドを生成するときに、明示的に共有することを要求できる。"
 
 #. type: Plain text
 #: build/C/man2/unshare.2:47
@@ -9911,26 +8981,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/unshare.2:105
-#, fuzzy
-#| msgid ""
-#| "This flag has the same effect as the B<clone>(2)  B<CLONE_NEWIPC> flag.  "
-#| "Unshare the System\\ V IPC namespace, so that the calling process has a "
-#| "private copy of the System\\ V IPC namespace which is not shared with any "
-#| "other process.  Specifying this flag automatically implies "
-#| "B<CLONE_SYSVSEM> as well.  Use of B<CLONE_NEWIPC> requires the "
-#| "B<CAP_SYS_ADMIN> capability."
 msgid ""
 "This flag has the same effect as the B<clone>(2)  B<CLONE_NEWIPC> flag.  "
 "Unshare the IPC namespace, so that the calling process has a private copy of "
 "the IPC namespace which is not shared with any other process.  Specifying "
 "this flag automatically implies B<CLONE_SYSVSEM> as well.  Use of "
 "B<CLONE_NEWIPC> requires the B<CAP_SYS_ADMIN> capability."
-msgstr ""
-"このフラグは B<clone>(2) B<CLONE_NEWIPC> フラグと同じ効果を持つ。\n"
-"System\\ V IPC 名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは\n"
-"共有しない固有の System\\ V IPC 名前空間のコピーを持つ。 このフラグを指定\n"
-"すると、 B<CLONE_SYSVSEM> も暗黙のうちに指定される。 B<CLONE_NEWIPC> を\n"
-"使用するには B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
+msgstr "このフラグは B<clone>(2) B<CLONE_NEWIPC> フラグと同じ効果を持つ。 IPC 名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは共有しない固有の IPC 名前空間のコピーを持つ。 このフラグを指定すると、 B<CLONE_SYSVSEM> も暗黙のうちに指定される。 B<CLONE_NEWIPC> を使用するには B<CAP_SYS_ADMIN> ケーパビリティが必要である。"
 
 #. type: Plain text
 #: build/C/man2/unshare.2:120
@@ -9957,13 +9014,6 @@ msgstr "B<CLONE_NEWNS>"
 #.  flags of the same name.
 #. type: Plain text
 #: build/C/man2/unshare.2:143
-#, fuzzy
-#| msgid ""
-#| "This flag has the same effect as the B<clone>(2)  B<CLONE_NEWNS> flag.  "
-#| "Unshare the mount namespace, so that the calling process has a private "
-#| "copy of its namespace which is not shared with any other process.  "
-#| "Specifying this flag automatically implies B<CLONE_FS> as well.  Use of "
-#| "B<CLONE_NEWNS> requires the B<CAP_SYS_ADMIN> capability."
 msgid ""
 "This flag has the same effect as the B<clone>(2)  B<CLONE_NEWNS> flag.  "
 "Unshare the mount namespace, so that the calling process has a private copy "
@@ -9971,12 +9021,7 @@ msgid ""
 "this flag automatically implies B<CLONE_FS> as well.  Use of B<CLONE_NEWNS> "
 "requires the B<CAP_SYS_ADMIN> capability.  For further information, see "
 "B<mount_namespaces>(7)."
-msgstr ""
-"このフラグは B<clone>(2) B<CLONE_NEWNS> フラグと同じ効果を持つ。 マウン\n"
-"ト名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは共有しない固\n"
-"有の名前空間のコピーを持つ。 このフラグを指定すると、 B<CLONE_FS> も暗\n"
-"黙のうちに指定される。 B<CLONE_NEWNS> を使用するには B<CAP_SYS_ADMIN>\n"
-"ケーパビリティが必要である。"
+msgstr "このフラグは B<clone>(2) B<CLONE_NEWNS> フラグと同じ効果を持つ。 マウント名前空間を共有せず、呼び出し元プロセスは 他のプロセスとは共有しない固有の名前空間のコピーを持つ。 このフラグを指定すると、 B<CLONE_FS> も暗黙のうちに指定される。 B<CLONE_NEWNS> を使用するには B<CAP_SYS_ADMIN> ケーパビリティが必要である。詳細は B<mount_namespaces>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man2/unshare.2:170
@@ -10002,10 +9047,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/unshare.2:170
-#, fuzzy, no-wrap
-#| msgid "B<CLONE_NEWIPC> (since Linux 3.0)"
+#, no-wrap
 msgid "B<CLONE_NEWTIME> (since Linux 5.6)"
-msgstr "B<CLONE_NEWIPC> (Linux 3.0 以降)"
+msgstr "B<CLONE_NEWTIME> (Linux 5.6 以降)"
 
 #. type: Plain text
 #: build/C/man2/unshare.2:185
@@ -10201,29 +9245,17 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/unshare.2:339
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_NEWUTS> was specified in I<flags>, but the kernel was not "
-#| "configured with the B<CONFIG_UTS> option."
 msgid ""
 "B<CLONE_NEWUSER> was specified in I<flags>, but the kernel was not "
 "configured with the B<CONFIG_USER_NS> option."
-msgstr ""
-"I<flags> に B<CLONE_NEWUTS> が指定されたが、カーネルでオプション "
-"B<CONFIG_UTS> が有効になっていなかった。"
+msgstr "I<flags> に B<CLONE_NEWUSER> が指定されたが、カーネルでオプション B<CONFIG_USER_NS> が有効になっていなかった。"
 
 #. type: Plain text
 #: build/C/man2/unshare.2:347
-#, fuzzy
-#| msgid ""
-#| "B<CLONE_NEWUTS> was specified in I<flags>, but the kernel was not "
-#| "configured with the B<CONFIG_UTS> option."
 msgid ""
 "B<CLONE_NEWUTS> was specified in I<flags>, but the kernel was not configured "
 "with the B<CONFIG_UTS_NS> option."
-msgstr ""
-"I<flags> に B<CLONE_NEWUTS> が指定されたが、カーネルでオプション "
-"B<CONFIG_UTS> が有効になっていなかった。"
+msgstr "I<flags> に B<CLONE_NEWUTS> が指定されたが、カーネルでオプション B<CONFIG_UTS_NS> が有効になっていなかった。"
 
 #. type: Plain text
 #: build/C/man2/unshare.2:357
@@ -10313,10 +9345,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/unshare.2:412
-#, fuzzy, no-wrap
-#| msgid "B<EUSERS> (since Linux 3.11)"
+#, no-wrap
 msgid "B<EUSERS> (from Linux 3.11 to Linux 4.8)"
-msgstr "B<EUSERS> (Linux 3.11 以降)"
+msgstr " B<EUSERS> (from Linux 3.11 to Linux 4.8)"
 
 #. type: Plain text
 #: build/C/man2/unshare.2:421
@@ -10393,14 +9424,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/unshare.2:480
-#, fuzzy, no-wrap
-#| msgid ""
-#| "$ B<readlink /proc/$$/ns/mnt>\n"
-#| "mnt:[4026531840]\n"
-#| "$ B<sudo ./unshare -m /bin/bash>\n"
-#| "[sudo] password for cecilia:\n"
-#| "# B<readlink /proc/$$/ns/mnt>\n"
-#| "mnt:[4026532325]\n"
+#, no-wrap
 msgid ""
 "$ B<readlink /proc/$$/ns/mnt>\n"
 "mnt:[4026531840]\n"
@@ -10411,7 +9435,6 @@ msgstr ""
 "$ B<readlink /proc/$$/ns/mnt>\n"
 "mnt:[4026531840]\n"
 "$ B<sudo ./unshare -m /bin/bash>\n"
-"[sudo] password for cecilia:\n"
 "# B<readlink /proc/$$/ns/mnt>\n"
 "mnt:[4026532325]\n"
 
@@ -10464,21 +9487,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/unshare.2:521
-#, fuzzy, no-wrap
-#| msgid ""
-#| "static void\n"
-#| "usage(char *pname)\n"
-#| "{\n"
-#| "    fprintf(stderr, \"Usage: %s [options] program [arg...]\\en\", pname);\n"
-#| "    fprintf(stderr, \"Options can be:\\en\");\n"
-#| "    fprintf(stderr, \"    -i   unshare IPC namespace\\en\");\n"
-#| "    fprintf(stderr, \"    -m   unshare mount namespace\\en\");\n"
-#| "    fprintf(stderr, \"    -n   unshare network namespace\\en\");\n"
-#| "    fprintf(stderr, \"    -p   unshare PID namespace\\en\");\n"
-#| "    fprintf(stderr, \"    -u   unshare UTS namespace\\en\");\n"
-#| "    fprintf(stderr, \"    -U   unshare user namespace\\en\");\n"
-#| "    exit(EXIT_FAILURE);\n"
-#| "}\n"
+#, no-wrap
 msgid ""
 "static void\n"
 "usage(char *pname)\n"
@@ -10501,10 +9510,12 @@ msgstr ""
 "{\n"
 "    fprintf(stderr, \"Usage: %s [options] program [arg...]\\en\", pname);\n"
 "    fprintf(stderr, \"Options can be:\\en\");\n"
+"    fprintf(stderr, \"    -C   unshare cgroup namespace\\en\");\n"
 "    fprintf(stderr, \"    -i   unshare IPC namespace\\en\");\n"
 "    fprintf(stderr, \"    -m   unshare mount namespace\\en\");\n"
 "    fprintf(stderr, \"    -n   unshare network namespace\\en\");\n"
 "    fprintf(stderr, \"    -p   unshare PID namespace\\en\");\n"
+"    fprintf(stderr, \"    -t   unshare time namespace\\en\");\n"
 "    fprintf(stderr, \"    -u   unshare UTS namespace\\en\");\n"
 "    fprintf(stderr, \"    -U   unshare user namespace\\en\");\n"
 "    exit(EXIT_FAILURE);\n"
@@ -10532,19 +9543,7 @@ msgstr "    flags = 0;\n"
 
 #. type: Plain text
 #: build/C/man2/unshare.2:542
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    while ((opt = getopt(argc, argv, \"imnpuU\")) != -1) {\n"
-#| "        switch (opt) {\n"
-#| "        case \\(aqi\\(aq: flags |= CLONE_NEWIPC;        break;\n"
-#| "        case \\(aqm\\(aq: flags |= CLONE_NEWNS;         break;\n"
-#| "        case \\(aqn\\(aq: flags |= CLONE_NEWNET;        break;\n"
-#| "        case \\(aqp\\(aq: flags |= CLONE_NEWPID;        break;\n"
-#| "        case \\(aqu\\(aq: flags |= CLONE_NEWUTS;        break;\n"
-#| "        case \\(aqU\\(aq: flags |= CLONE_NEWUSER;       break;\n"
-#| "        default:  usage(argv[0]);\n"
-#| "        }\n"
-#| "    }\n"
+#, no-wrap
 msgid ""
 "    while ((opt = getopt(argc, argv, \"CimnptuU\")) != -1) {\n"
 "        switch (opt) {\n"
@@ -10560,12 +9559,14 @@ msgid ""
 "        }\n"
 "    }\n"
 msgstr ""
-"    while ((opt = getopt(argc, argv, \"imnpuU\")) != -1) {\n"
+"    while ((opt = getopt(argc, argv, \"CimnptuU\")) != -1) {\n"
 "        switch (opt) {\n"
+"        case \\(aqC\\(aq: flags |= CLONE_NEWCGROUP;      break;\n"
 "        case \\(aqi\\(aq: flags |= CLONE_NEWIPC;        break;\n"
 "        case \\(aqm\\(aq: flags |= CLONE_NEWNS;         break;\n"
 "        case \\(aqn\\(aq: flags |= CLONE_NEWNET;        break;\n"
 "        case \\(aqp\\(aq: flags |= CLONE_NEWPID;        break;\n"
+"        case \\(aqt\\(aq: flags |= CLONE_NEWTIME;        break;\n"
 "        case \\(aqu\\(aq: flags |= CLONE_NEWUTS;        break;\n"
 "        case \\(aqU\\(aq: flags |= CLONE_NEWUSER;       break;\n"
 "        default:  usage(argv[0]);\n"
@@ -10616,21 +9617,10 @@ msgstr ""
 #.  commit f504d47be5e8fa7ecf2bf660b18b42e6960c0eb2
 #. type: Plain text
 #: build/C/man2/unshare.2:568
-#, fuzzy
-#| msgid "I<Documentation/unshare.txt> in the Linux kernel source tree"
 msgid ""
 "I<Documentation/userspace-api/unshare.rst> in the Linux kernel source tree "
 "(or I<Documentation/unshare.txt> before Linux 4.12)"
-msgstr "Linux カーネルソース内の I<Documentation/unshare.txt>"
-
-#~ msgid "2012-03-15"
-#~ msgstr "2012-03-15"
-
-#~ msgid ""
-#~ "Feature Test Macro Requirements for glibc wrapper function (see "
-#~ "B<feature_test_macros>(7)):"
-#~ msgstr ""
-#~ "glibc ラッパー関数の機能検査マクロの要件 (B<feature_test_macros>(7) 参照):"
+msgstr "Linux カーネルソース内の I<Documentation/userspace-api/unshare.rst> (Linux 4.12 より前では I<Documentation/unshare.txt>)"
 
 #~ msgid ""
 #~ "Unlike B<fork>(2), B<clone>()  allows the child process to share parts of "
@@ -10846,24 +9836,6 @@ msgstr "Linux カーネルソース内の I<Documentation/unshare.txt>"
 #~ "定する必要はなくなった。 このフラグはまだ定義されているが、何の効果もな"
 #~ "い。"
 
-#~ msgid "2013-12-08"
-#~ msgstr "2013-12-08"
-
-#~ msgid "2014-05-12"
-#~ msgstr "2014-05-12"
-
-#~ msgid "2014-05-10"
-#~ msgstr "2014-05-10"
-
-#~ msgid "Multithreading (see pthreads(7))"
-#~ msgstr "マルチスレッディング (pthreads(7) 参照)"
-
-#~ msgid "The B<sched_getcpu>()  function is thread-safe."
-#~ msgstr "B<sched_getcpu>() 関数はスレッドセーフである。"
-
-#~ msgid "2014-12-31"
-#~ msgstr "2014-12-31"
-
 #~ msgid ""
 #~ "This field contains flags controlling scheduling behavior.  Only one such "
 #~ "flag is currently defined: B<SCHED_FLAG_RESET_ON_FORK>.  As a result of "
@@ -10875,28 +9847,6 @@ msgstr "Linux カーネルソース内の I<Documentation/unshare.txt>"
 #~ "グが指定されると、 B<fork>(2) で作成された子プロセスは特権が必要なスケ"
 #~ "ジューリングポリシーを継承しない。 詳細は B<sched>(7) を参照。"
 
-#~ msgid "2014-05-11"
-#~ msgstr "2014-05-11"
-
-#~ msgid "The process whose ID is I<pid> could not be found."
-#~ msgstr "プロセス ID I<pid> のプロセスが見つからなかった。"
-
-#~ msgid ""
-#~ "Scheduling parameters are in fact per-thread attributes on Linux; see "
-#~ "B<sched>(7)."
-#~ msgstr ""
-#~ "Linux では、スケジューリングパラメーターは実際にはスレッド単位の属性であ"
-#~ "る。 B<sched>(7) 参照。"
-
-#~ msgid "B<int sched_setscheduler(pid_t >I<pid>B<, int >I<policy>B<,>\n"
-#~ msgstr "B<int sched_setscheduler(pid_t >I<pid>B<, int >I<policy>B<,>\n"
-
-#~ msgid "B<                       const struct sched_param *>I<param>B<);>\n"
-#~ msgstr "B<                       const struct sched_param *>I<param>B<);>\n"
-
-#~ msgid "The Linux scheduling APIs are as follows:"
-#~ msgstr "Linux のスケジューリング API は以下のとおりである。"
-
 #~ msgid ""
 #~ "A call to B<sched_setscheduler>(2), B<sched_setparam>(2), or "
 #~ "B<sched_setattr>(2)  will put the B<SCHED_FIFO> (or B<SCHED_RR>) thread "
@@ -10911,9 +9861,6 @@ msgstr "Linux カーネルソース内の I<Documentation/unshare.txt>"
 #~ "実行中のスレッドに先んじるかもしれない。 (POSIX.1-2001 ではスレッドはリス"
 #~ "トの最後に行くべきと規定されている。)"
 
-#~ msgid "2015-01-10"
-#~ msgstr "2015-01-10"
-
 #~ msgid ""
 #~ "Given a file descriptor referring to a namespace, reassociate the calling "
 #~ "thread with that namespace."
@@ -10978,6 +9925,3 @@ msgstr "Linux カーネルソース内の I<Documentation/unshare.txt>"
 #~ "テム関連の属性 (共有が B<clone>(2) B<CLONE_FS> フラグで制御される属性) を"
 #~ "別のプロセスと共有している場合、 プロセスは新しいユーザー名前空間に参加で"
 #~ "きない。 ユーザー名前空間の詳細は B<user_namespaces>(7) を参照。"
-
-#~ msgid "B<unshare>():"
-#~ msgstr "B<unshare>():"
index 4c68217..d32add9 100644 (file)
@@ -1,15 +1,12 @@
 # pagename,#complete,#remaining,#all
-CPU_SET.3,80,9,89
-clone.2,129,243,372
-kcmp.2,56,36,92
-sched_get_priority_max.2,24,3,27
-sched_getcpu.3,42,1,43
-sched_rr_get_interval.2,33,3,36
-sched_setaffinity.2,39,37,76
-sched_setattr.2,81,18,99
-sched_setparam.2,28,6,34
-sched_setscheduler.2,52,5,57
-sched_yield.2,23,3,26
-sched.7,114,72,186
-setns.2,66,51,117
-unshare.2,77,25,102
+CPU_SET.3,88,1,89
+clone.2,269,103,372
+kcmp.2,67,25,92
+sched_setaffinity.2,53,23,76
+sched_setattr.2,92,7,99
+sched_setparam.2,33,1,34
+sched_setscheduler.2,56,1,57
+sched_yield.2,25,1,26
+sched.7,135,51,186
+setns.2,79,38,117
+unshare.2,95,7,102
index ea1d93b..0e6fe72 100644 (file)
 <TR class="over80"><TD>regex.3</TD><TD>1/112</TD><TD>99.11</TD></TR>
 <TR class="over80"><TD>wordexp.3</TD><TD>1/76</TD><TD>98.68</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>sched</B></TD></TR>
-<TR class="over80"><TD>CPU_SET.3</TD><TD>9/89</TD><TD>89.89</TD></TR>
-<TR><TD>clone.2</TD><TD>243/372</TD><TD>34.68</TD></TR>
-<TR><TD>kcmp.2</TD><TD>36/92</TD><TD>60.87</TD></TR>
-<TR class="over80"><TD>sched_get_priority_max.2</TD><TD>3/27</TD><TD>88.89</TD></TR>
-<TR class="over80"><TD>sched_getcpu.3</TD><TD>1/43</TD><TD>97.67</TD></TR>
-<TR class="over80"><TD>sched_rr_get_interval.2</TD><TD>3/36</TD><TD>91.67</TD></TR>
-<TR><TD>sched_setaffinity.2</TD><TD>37/76</TD><TD>51.32</TD></TR>
-<TR class="over80"><TD>sched_setattr.2</TD><TD>18/99</TD><TD>81.82</TD></TR>
-<TR class="over80"><TD>sched_setparam.2</TD><TD>6/34</TD><TD>82.35</TD></TR>
-<TR class="over80"><TD>sched_setscheduler.2</TD><TD>5/57</TD><TD>91.23</TD></TR>
-<TR class="over80"><TD>sched_yield.2</TD><TD>3/26</TD><TD>88.46</TD></TR>
-<TR><TD>sched.7</TD><TD>72/186</TD><TD>61.29</TD></TR>
-<TR><TD>setns.2</TD><TD>51/117</TD><TD>56.41</TD></TR>
-<TR class="over70"><TD>unshare.2</TD><TD>25/102</TD><TD>75.49</TD></TR>
+<TR class="over80"><TD>CPU_SET.3</TD><TD>1/89</TD><TD>98.88</TD></TR>
+<TR class="over70"><TD>clone.2</TD><TD>103/372</TD><TD>72.31</TD></TR>
+<TR class="over70"><TD>kcmp.2</TD><TD>25/92</TD><TD>72.83</TD></TR>
+<TR><TD>sched_setaffinity.2</TD><TD>23/76</TD><TD>69.74</TD></TR>
+<TR class="over80"><TD>sched_setattr.2</TD><TD>7/99</TD><TD>92.93</TD></TR>
+<TR class="over80"><TD>sched_setparam.2</TD><TD>1/34</TD><TD>97.06</TD></TR>
+<TR class="over80"><TD>sched_setscheduler.2</TD><TD>1/57</TD><TD>98.25</TD></TR>
+<TR class="over80"><TD>sched_yield.2</TD><TD>1/26</TD><TD>96.15</TD></TR>
+<TR class="over70"><TD>sched.7</TD><TD>51/186</TD><TD>72.58</TD></TR>
+<TR><TD>setns.2</TD><TD>38/117</TD><TD>67.52</TD></TR>
+<TR class="over80"><TD>unshare.2</TD><TD>7/102</TD><TD>93.14</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>search</B></TD></TR>
 <TR class="over80"><TD>tsearch.3</TD><TD>5/70</TD><TD>92.86</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>semaphore</B></TD></TR>
 <TR class="over80"><TD>login.3</TD><TD>1/46</TD><TD>97.83</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>wchar</B></TD></TR>
 <TR class="over80"><TD>mbsnrtowcs.3</TD><TD>1/47</TD><TD>97.87</TD></TR>
-<TR><TD COLSPAN=3>Total 628 pages</TD></TR>
+<TR><TD COLSPAN=3>Total 625 pages</TD></TR>
 </TABLE>
 </BODY></HTML>