X-Git-Url: http://git.osdn.net/view?p=linuxjm%2FLDP_man-pages.git;a=blobdiff_plain;f=release%2Fman2%2Fsyslog.2;h=2bbc7be5c335b0758d12306342e8bc2f53d4eb1d;hp=8a2dd6c85055199c46adeb11fe845e8f869145cd;hb=refs%2Ftags%2FLDP-3.39-final;hpb=f8a251df75590049b7aa6f3cd698b6ce733b1ea5 diff --git a/release/man2/syslog.2 b/release/man2/syslog.2 index 8a2dd6c8..2bbc7be5 100644 --- a/release/man2/syslog.2 +++ b/release/man2/syslog.2 @@ -26,174 +26,103 @@ .\" 2008-02-15, Michael Kerrisk .\" Update LOG_BUF_LEN details; update RETURN VALUE section. .\" -.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya -.\" all rights reserved. -.\" Translated Mon Dec 16 11:16:34 JST 2001 -.\" by HANATAKA Shinya -.\" Updated Thu Mar 6 2003 by Akihiro MOTOKI -.\" Updated 2005-09-06, Akihiro MOTOKI -.\" Updated 2008-04-04, Akihiro MOTOKI, LDP v2.79 -.\" Updated 2008-07-31, Akihiro MOTOKI, LDP v3.05 +.\"******************************************************************* .\" -.\"WORD: kernel カーネル -.\"WORD: message ring buffer メッセージ・リング・バッファ -.\"WORD: library ライブラリ -.\"WORD: kernel log buffer カーネル・ログ・バッファ -.\"WORD: console コンソール -.\"WORD: kernel panic カーネル・パニック -.\"WORD: loglevel ログレベル -.\"WORD: debug message デバッグ・メッセージ +.\" This file was generated with po4a. Translate the source file. .\" -.TH SYSLOG 2 2008-06-20 "Linux" "Linux Programmer's Manual" +.\"******************************************************************* +.TH SYSLOG 2 2011\-09\-07 Linux "Linux Programmer's Manual" .SH 名前 -syslog, klogctl \- カーネルのメッセージ・リング・バッファを読んだり消去したりする; -console_loglevel の設定を行う +syslog, klogctl \- カーネルのメッセージ・リング・バッファを読んだり消去したりする; console_loglevel の設定を行う .SH 書式 .nf -.BI "int syslog(int " type ", char *" bufp ", int " len ); -.B " /* glibc ではラッパー関数は提供されていない */" +\fBint syslog(int \fP\fItype\fP\fB, char *\fP\fIbufp\fP\fB, int \fP\fIlen\fP\fB);\fP +\fB/* glibc ではラッパー関数は提供されていない */\fP .sp /* glibc のインタフェース */ .br -.B "#include " +\fB#include \fP .sp -.BI "int klogctl(int " type ", char *" bufp ", int " len ); +\fBint klogctl(int \fP\fItype\fP\fB, char *\fP\fIbufp\fP\fB, int \fP\fIlen\fP\fB);\fP .fi .SH 説明 -.RB ( syslogd (8) -と話す) C ライブラリ関数の -.BR syslog () -が必要な場合は、 -.BR syslog (3) -を見ること。 -この名前のシステム・コールはカーネルの -.IR printk () -バッファを制御するものであり、glibc では -.BR klogctl () -と呼ばれている。 +(\fBsyslogd\fP(8) と話す) C ライブラリ関数の \fBsyslog\fP() が必要な場合は、 +\fBsyslog\fP(3) を見ること。この名前のシステム・コールはカーネルの +\fIprintk\fP() バッファを制御するものであり、glibc ラッパー関数は +\fBklogctl\fP() と呼ばれている。 -\fItype\fP 引き数はこの関数の動作を決定する。 +\fItype\fP 引き数はこの関数の動作を決定する。以下を指定できる。 -.I kernel/printk.c -からの引用 : .nf -/* - * Commands to sys_syslog: - * - * 0 \-\- ログを閉じる。現在の実装では何もしない (NOP) 。 - * 1 \-\- ログを開く。現在の実装では何もしない (NOP) 。 - * 2 \-\- ログから読み出す。 - * 3 \-\- リング・バッファに残っているメッセージをすべて読み出す。 - * 4 \-\- リング・バッファに残っているメッセージをすべて読み出し、消去する。 - * 5 \-\- リングバッファを消去する。 - * 6 \-\- コンソールへの printk を無効にする。 - * 7 \-\- コンソールへの printk を有効にする。 - * 8 \-\- コンソールに表示されるメッセージのレベルを設定する。 - * 9 \-\- ログバッファの未読の文字数を返す。 - * 10 \-\- ログバッファのサイズを返す。 - */ + 0 \-\- ログを閉じる。現在の実装では何もしない (NOP) 。 + 1 \-\- ログを開く。現在の実装では何もしない (NOP) 。 + 2 \-\- ログから読み出す。 + 3 \-\- リング・バッファに残っているメッセージをすべて読み出す。 + 4 \-\- リング・バッファに残っているメッセージをすべて読み出し、消去する。 + 5 \-\- リングバッファを消去する。 + 6 \-\- コンソールへの printk を無効にする。 + 7 \-\- コンソールへの printk を有効にする。 + 8 \-\- コンソールに表示されるメッセージのレベルを設定する。 + 9 \-\- ログバッファの未読の文字数を返す。 + 10 \-\- ログバッファのサイズを返す。 .fi -非特権プロセスにはコマンド 3 と 10 のみが許可されている -(コマンド 9 は Linux 2.4.10 で、コマンド 10 は Linux 2.6.6 で追加された)。 -.SS カーネル・ログ・バッファ (kernel log buffer) -カーネルは長さ -.B LOG_BUF_LEN -の巡回式のバッファを持っており、 -それにはカーネル関数の -.BR printk () -の引き数として与えられた -メッセージが (そのログレベルにかかわらず) 格納される。 -初期のカーネルでは -.B LOG_BUF_LEN -の値は 4096 であった。 -カーネル 1.3.54 からは 8192、 -カーネル 2.1.113 からは 16384 になり、 -カーネル 2.4.23 以降および 2.6 以降ではカーネルのコンパイル時に -値を設定できるようになっている。 +type 9 は Linux 2.4.10 で追加された。 +type 10 は Linux 2.6.6 で追加された。 + +バージョン 2.6.37 より前の Linux カーネルでは、 +コマンド種別 3 と 10 だけが非特権プロセスに対して許可されている。 +Linux 2.6.37 以降では、\fI/proc/sys/kernel/dmesg_restrict\fP が値 0 の場合に +コマンド種別 3 と 10 だけが非特権プロセスに対して許可される。 +Linux 2.6.37 より前では、「特権を持つ (privileged)」とは呼び出し者が +\fBCAP_SYS_ADMIN\fP ケーパビリティを持つことを意味する。 +Linux 2.6.37 以降では、「特権を持つ」とは呼び出し者が +\fBCAP_SYS_ADMIN\fP ケーパビリティか +(新しい) \fBCAP_SYSLOG\fP ケーパビリティのいずれかを持つことを意味する +(この目的で \fBCAP_SYS_ADMIN\fP ケーパビリティを使うのは今は非推奨である)。 +.SS "カーネル・ログ・バッファ (kernel log buffer)" .\" Under "General setup" ==> "Kernel log buffer size" .\" For 2.6, precisely the option seems to have appeared in 2.5.55. -最近のカーネルでは、コマンド 10 でバッファのサイズを問い合わせできる。 +カーネルは長さ \fBLOG_BUF_LEN\fP の巡回式のバッファを持っており、 それにはカーネル関数の \fBprintk\fP() +の引き数として与えられた メッセージが (そのログレベルにかかわらず) 格納される。 初期のカーネルでは \fBLOG_BUF_LEN\fP の値は 4096 +であった。 カーネル 1.3.54 からは 8192、 カーネル 2.1.113 からは 16384 になり、 カーネル 2.4.23 以降および +2.6 以降ではカーネルのコンパイル時に 値を設定できるようになっている。 最近のカーネルでは、コマンド 10 でバッファのサイズを問い合わせできる。 -.I "syslog(2,buf,len)" -の呼び出しはカーネル・ログ・バッファが空でなくなるまで待って、 -最大 \fIlen\fP バイトまで \fIbuf\fP へと読み出し、読み込んだ -バイト数を返す。ログから読まれたバイトはログ・バッファから消える: -情報は一度しか読むことができない。 -これはユーザーのプログラムが -.I /proc/kmsg -を読んだ時にカーネルによって実行される関数でもある。 +\fIsyslog(2,buf,len)\fP の呼び出しはカーネル・ログ・バッファが空でなくなるまで待って、 最大 \fIlen\fP バイトまで \fIbuf\fP +へと読み出し、読み込んだ バイト数を返す。ログから読まれたバイトはログ・バッファから消える: 情報は一度しか読むことができない。 +これはユーザーのプログラムが \fI/proc/kmsg\fP を読んだ時にカーネルによって実行される関数でもある。 -.I syslog(3,buf,len) -の呼び出しはログ・バッファの最後の \fIlen\fP バイトを -(非破壊的に)読み出す、しかし、直近の「リング・バッファ消去」命令 -(この命令はバッファを消去するわけではない) -以降にバッファに書き込まれた情報しか読み出せない。 -返り値は読み込んだバイト数である。 +\fIsyslog(3,buf,len)\fP の呼び出しはログ・バッファの最後の \fIlen\fP バイトを +(非破壊的に)読み出す、しかし、直近の「リング・バッファ消去」命令 (この命令はバッファを消去するわけではない) +以降にバッファに書き込まれた情報しか読み出せない。 返り値は読み込んだバイト数である。 -.I syslog(4,buf,len) -呼び出しは「リング・バッファ消去」命令も実行する以外は -機能 3 と完全に同じである。 +\fIsyslog(4,buf,len)\fP 呼び出しは「リング・バッファ消去」命令も実行する以外は 機能 3 と完全に同じである。 -.I syslog(5,dummy,dummy) -呼び出しは「リング・バッファ消去」命令のみを実行する -(呼び出しの書式で、 -.I buf -や -.I len -が "dummy" と記載されている場合、その引き数の値が無視されることを表す)。 +\fIsyslog(5,dummy,dummy)\fP 呼び出しは「リング・バッファ消去」命令のみを実行する (呼び出しの書式で、 \fIbuf\fP や +\fIlen\fP が "dummy" と記載されている場合、その引き数の値が無視されることを表す)。 -.I syslog(6,dummy,dummy) -呼び出しはコンソールのログレベルを最小に設定し、 -コンソールにメッセージが表示されないようにする。 +\fIsyslog(6,dummy,dummy)\fP 呼び出しはコンソールのログレベルを最小に設定し、 コンソールにメッセージが表示されないようにする。 -.I syslog(7,dummy,dummy) -呼び出しはコンソールのログレベルをデフォルトに設定し、 -コンソールにメッセージが表示されるようにする。 +\fIsyslog(7,dummy,dummy)\fP 呼び出しはコンソールのログレベルをデフォルトに設定し、 コンソールにメッセージが表示されるようにする。 -.I syslog(8,dummy,level) -呼び出しはコンソールのログレベルを -.I level -に設定する。 -.I level -は 1 以上 8 以下の整数でなければならない。 -詳細は -.B ログレベル (loglevel) -の節を参照のこと。 +\fIsyslog(8,dummy,level)\fP 呼び出しはコンソールのログレベルを \fIlevel\fP に設定する。 \fIlevel\fP は 1 以上 8 +以下の整数でなければならない。 詳細は \fBログレベル (loglevel)\fP の節を参照のこと。 -.I syslog(9,dummy,dummy) -呼び出しはカーネル・ログバッファにある現在読み出し可能なバイト数を返す。 +\fIsyslog(9,dummy,dummy)\fP 呼び出しはカーネル・ログバッファにある現在読み出し可能なバイト数を返す。 -.I syslog(10,dummy,dummy) -呼び出しはカーネル・ログバッファの総量を返す。 -.SS ログレベル (loglevel) -カーネル・ルーチンの -.BR printk () -は、ログレベルが -.I console_loglevel -変数より小さいときにのみ、コンソールにメッセージを表示する。 -.I console_loglevel -は最初 -.B DEFAULT_CONSOLE_LOGLEVEL -(7) に設定されるが、起動時にカーネルの -コマンド・ライン・オプションに "debug" という単語が含まれている場合は -10 に設定され、カーネル・フォールトが発生した場合には 15 に設定される -(但し、10 や 15 という数字に意味はなく、8 と同等である)。 -この変数は -.IR syslog(8,dummy,value) . -呼び出しによって設定され、値の範囲は 1-8 である。 -.I syslog(type,dummy,dummy) -呼び出しで \fItype\fP が 6 もしくは 7 の場合、 -console_loglevel は 1 (カーネル・パニックのみ)、 -7 (デバッグ・メッセージ以外の全て) にそれぞれ設定される。 +\fIsyslog(10,dummy,dummy)\fP 呼び出しはカーネル・ログバッファの総量を返す。 +.SS "ログレベル (loglevel)" +カーネル・ルーチンの \fBprintk\fP() は、ログレベルが \fIconsole_loglevel\fP +変数より小さいときにのみ、コンソールにメッセージを表示する。 \fIconsole_loglevel\fP は最初 +\fBDEFAULT_CONSOLE_LOGLEVEL\fP (7) に設定されるが、起動時にカーネルの コマンド・ライン・オプションに "debug" +という単語が含まれている場合は 10 に設定され、カーネル・フォールトが発生した場合には 15 に設定される (但し、10 や 15 +という数字に意味はなく、8 と同等である)。 この変数は \fIsyslog(8,dummy,value)\fP. 呼び出しによって設定され、値の範囲は +1\-8 である。 \fIsyslog(type,dummy,dummy)\fP 呼び出しで \fItype\fP が 6 もしくは 7 の場合、 +console_loglevel は 1 (カーネル・パニックのみ)、 7 (デバッグ・メッセージ以外の全て) にそれぞれ設定される。 -メッセージの各行はそれぞれにログレベルを持つ。このログレベルは -.I "DEFAULT_MESSAGE_LOGLEVEL \- 1" -(6) であるが、 (\fId\fP は 1-7 の範囲の数字) で始まる行の -ログレベルは \fId\fP である。 -ログレベルの慣習的な意味は -.I -に以下のように定義されている: +メッセージの各行はそれぞれにログレベルを持つ。このログレベルは \fIDEFAULT_MESSAGE_LOGLEVEL \- 1\fP (6) であるが、 + (\fId\fP は 1\-7 の範囲の数字) で始まる行の ログレベルは \fId\fP である。 ログレベルの慣習的な意味は +\fI\fP に以下のように定義されている: .nf #define KERN_EMERG "<0>" /* システムが使用不能 */ @@ -206,63 +135,33 @@ console_loglevel は 1 (カーネル・パニックのみ)、 #define KERN_DEBUG "<7>" /* デバッグレベルの情報 */ .fi .SH 返り値 -\fItype\fP が 2, 3, 4 の場合、成功すると -.BR syslog () -は読み出したバイト数を返す。 -\fItype\fP が 9 の場合、 -カーネル・ログバッファにある現在読み出し可能なバイト数を返す。 -\fItype\fP が 10 の場合、 -カーネル・ログバッファの総量を返す。 -\fItype\fP がそれ以外の値の場合、成功すると 0 が返される。 +\fItype\fP が 2, 3, 4 の場合、成功すると \fBsyslog\fP() は読み出したバイト数を返す。 \fItype\fP が 9 の場合、 +カーネル・ログバッファにある現在読み出し可能なバイト数を返す。 \fItype\fP が 10 の場合、 カーネル・ログバッファの総量を返す。 \fItype\fP +がそれ以外の値の場合、成功すると 0 が返される。 -エラーの場合は、\-1\ が返り、 -\fIerrno\fP にエラーを示す値が設定される。 +エラーの場合は、\-1\ が返り、 \fIerrno\fP にエラーを示す値が設定される。 .SH エラー -.TP -.B EINVAL -不正な引き数 -(具体的には、 -.I type -が正しくない、もしくは -.I type -が 2, 3, 4 の場合に -.I buf -が NULL か -.I len -が 0 未満である、もしくは -.I type -が 8 の場合に -.I level -が 1 以上 8 以下の範囲に入っていない)。 -.TP -.B ENOSYS -カーネルの設定オプション -.BR CONFIG_PRINTK -を無効にしてカーネルがコンパイルされているため、 -.BR syslog () +.TP +\fBEINVAL\fP +不正な引き数 (具体的には、 \fItype\fP が正しくない、もしくは \fItype\fP が 2, 3, 4 の場合に \fIbuf\fP が NULL か +\fIlen\fP が 0 未満である、もしくは \fItype\fP が 8 の場合に \fIlevel\fP が 1 以上 8 以下の範囲に入っていない)。 +.TP +\fBENOSYS\fP +カーネルの設定オプション \fBCONFIG_PRINTK\fP を無効にしてカーネルがコンパイルされているため、 \fBsyslog\fP() システムコールが利用できない。 -.TP -.B EPERM -十分な権限を持たないプロセス (正確には -.B CAP_SYS_ADMIN -ケーパビリティを持たないプロセス) が console_loglevelを変更しようとしたか、 +.TP +\fBEPERM\fP +十分な権限を持たないプロセス (正確にはケーパビリティ \fBCAP_SYS_ADMIN\fP も +\fBCAP_SYSLOG\fP も持たないプロセス) が console_loglevel を変更しようとしたか、 カーネル・メッセージ・リングを消去しようとした。 -.TP -.B ERESTARTSYS -システム・コールがシグナルによって割り込まれ、何も読み出せなかった。 -(トレース中にしか発生することはない) +.TP +\fBERESTARTSYS\fP +システム・コールがシグナルによって割り込まれ、何も読み出せなかった。 (トレース中にしか発生することはない) .SH 準拠 -このシステム・コールは Linux 特有であり、移植を意図したプログラムでは -使用してはいけない。 +このシステム・コールは Linux 特有であり、移植を意図したプログラムでは 使用してはいけない。 .SH 注意 -かなり初期の頃から、同じ名前を持つシステム・コールと -ライブラリ・ルーチンが全く異なる代物であるのは不幸なことだと -気付かれていた。 -libc4 と libc5 ではこのコールの番号は -.B SYS_klog -と定義されていた。 -glibc2.0 でこのシステムコールは -.BR klogctl () +かなり初期の頃から、同じ名前を持つシステム・コールと ライブラリ・ルーチンが全く異なる代物であるのは不幸なことだと 気付かれていた。 libc4 と +libc5 ではこのコールの番号は \fBSYS_klog\fP と定義されていた。 glibc2.0 でこのシステムコールは \fBklogctl\fP() という名前に改められた。 .SH 関連項目 -.BR syslog (3) +\fBsyslog\fP(3), \fBcapabilities\fP(7)