X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=draft%2Fman2%2Fsyslog.2;h=875726bc11493852f95adf0b936b4ca8c8c422b5;hb=5e1d43dd8cff93ca6fb21fea939c28233332b846;hp=dd3b8232f897668a109418947bdf2c933fd647f1;hpb=d64f6f809e331352f863bdb422001aaaaea4cbdd;p=linuxjm%2FLDP_man-pages.git diff --git a/draft/man2/syslog.2 b/draft/man2/syslog.2 index dd3b8232..875726bc 100644 --- a/draft/man2/syslog.2 +++ b/draft/man2/syslog.2 @@ -1,5 +1,6 @@ .\" Copyright (C) 1995 Andries Brouwer (aeb@cwi.nl) .\" +.\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. @@ -19,6 +20,7 @@ .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. +.\" %%%LICENSE_END .\" .\" Written 11 June 1995 by Andries Brouwer .\" 2008-02-15, Jeremy Kerr @@ -31,7 +33,20 @@ .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* -.TH SYSLOG 2 2011\-09\-07 Linux "Linux Programmer's Manual" +.\" +.\" 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 +.\" Updated 2012-04-30, Akihiro MOTOKI +.\" Updated 2012-05-29, Akihiro MOTOKI +.\" Updated 2013-05-06, Akihiro MOTOKI +.\" +.TH SYSLOG 2 2012\-11\-29 Linux "Linux Programmer's Manual" .SH 名前 syslog, klogctl \- カーネルのメッセージ・リング・バッファを読んだり消去したりする; console_loglevel の設定を行う .SH 書式 @@ -50,75 +65,83 @@ syslog, klogctl \- カーネルのメッセージ・リング・バッファを \fBsyslog\fP(3) を見ること。この名前のシステム・コールはカーネルの \fIprintk\fP() バッファを制御するものであり、glibc ラッパー関数は \fBklogctl\fP() と呼ばれている。 - -\fItype\fP 引き数はこの関数の動作を決定する。以下を指定できる。 - -.nf - 0 \-\- ログを閉じる。現在の実装では何もしない (NOP) 。 - 1 \-\- ログを開く。現在の実装では何もしない (NOP) 。 - 2 \-\- ログから読み出す。 - 3 \-\- リング・バッファに残っているメッセージをすべて読み出す。 - 4 \-\- リング・バッファに残っているメッセージをすべて読み出し、消去する。 - 5 \-\- リングバッファを消去する。 - 6 \-\- コンソールへの printk を無効にする。 - 7 \-\- コンソールへの printk を有効にする。 - 8 \-\- コンソールに表示されるメッセージのレベルを設定する。 - 9 \-\- ログバッファの未読の文字数を返す。 - 10 \-\- ログバッファのサイズを返す。 -.fi - -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. カーネルは長さ \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 でバッファのサイズを問い合わせできる。 - -\fIsyslog(2,buf,len)\fP の呼び出しはカーネル・ログ・バッファが空でなくなるまで待って、 最大 \fIlen\fP バイトまで \fIbuf\fP -へと読み出し、読み込んだ バイト数を返す。ログから読まれたバイトはログ・バッファから消える: 情報は一度しか読むことができない。 +2.6 以降ではカーネル設定オプション (\fBCONFIG_LOG_BUF_SHIFT\fP) +で値を設定できるようになっている。最近のカーネルでは、コマンド 10 (下記参照) でバッファのサイズを問い合わせできる。 +.SS コマンド +\fItype\fP 引き数はこの関数が行う動作を決定する。 以下のリストに示す値を \fItype\fP に指定できる。 +シンボル名はカーネルソースで定義されているが、ユーザ空間には公開されていない。 したがって、数字を使うか、名前を自分で定義する必要がある。 +.TP +\fBSYSLOG_ACTION_CLOSE\fP (0) +ログをクローズする。現在のところ NOP である。 +.TP +\fBSYSLOG_ACTION_OPEN\fP (1) +ログをオープンする。現在のところ NOP である。 +.TP +\fBSYSLOG_ACTION_READ\fP (2) +ログを読み出す。 この呼び出しは、 カーネル・ログ・バッファが空でなくなるまで待って、 最大 \fIlen\fP バイトまで \fIbufp\fP +が指すバッファに読み込み、 読み込んだバイト数を返す。 ログから読まれたバイトはログ・バッファから消える。 つまり、情報は一度しか読むことができない。 これはユーザーのプログラムが \fI/proc/kmsg\fP を読んだ時にカーネルによって実行される関数でもある。 - -\fIsyslog(3,buf,len)\fP の呼び出しはログ・バッファの最後の \fIlen\fP バイトを -(非破壊的に)読み出す、しかし、直近の「リング・バッファ消去」命令 (この命令はバッファを消去するわけではない) +.TP +\fBSYSLOG_ACTION_READ_ALL\fP (3) +リング・バッファに残っているメッセージをすべて読み出し、 \fIbufp\fP が指すバッファに格納する。 この呼び出しログ・バッファの最後の \fIlen\fP +バイトを (非破壊的に) 読み出すが、 最後の「リング・バッファ消去」命令 (下記のコマンド 5 参照) 以降にバッファに書き込まれた情報しか読み出せない。 返り値は読み込んだバイト数である。 - -\fIsyslog(4,buf,len)\fP 呼び出しは「リング・バッファ消去」命令も実行する以外は 機能 3 と完全に同じである。 - -\fIsyslog(5,dummy,dummy)\fP 呼び出しは「リング・バッファ消去」命令のみを実行する (呼び出しの書式で、 \fIbuf\fP や -\fIlen\fP が "dummy" と記載されている場合、その引き数の値が無視されることを表す)。 - -\fIsyslog(6,dummy,dummy)\fP 呼び出しはコンソールのログレベルを最小に設定し、 コンソールにメッセージが表示されないようにする。 - -\fIsyslog(7,dummy,dummy)\fP 呼び出しはコンソールのログレベルをデフォルトに設定し、 コンソールにメッセージが表示されるようにする。 - -\fIsyslog(8,dummy,level)\fP 呼び出しはコンソールのログレベルを \fIlevel\fP に設定する。 \fIlevel\fP は 1 以上 8 -以下の整数でなければならない。 詳細は \fBログレベル (loglevel)\fP の節を参照のこと。 - -\fIsyslog(9,dummy,dummy)\fP 呼び出しはカーネル・ログバッファにある現在読み出し可能なバイト数を返す。 - -\fIsyslog(10,dummy,dummy)\fP 呼び出しはカーネル・ログバッファの総量を返す。 +.TP +\fBSYSLOG_ACTION_READ_CLEAR\fP (4) +リング・バッファに残っているメッセージをすべて読み出し、クリアする。 この呼び出しは \fItype\fP 3 +と全く同じことを行い、追加で「リング・バッファ消去」 ("clear ring buffer") コマンドも実行する。 +.TP +\fBSYSLOG_ACTION_CLEAR\fP (5) +「リング・バッファ消去」 (\"clear ring buffer\") コマンドのみを実行する。 引き数 \fIbufp\fP と \fIlen\fP +は無視される。 +.IP +このコマンドは実際にリング・バッファをクリアするわけではなく、 コマンド 3 (\fBSYSLOG_ACTION_READ_ALL\fP) と 4 +(\fBSYSLOG_ACTION_READ_CLEAR\fP で返す内容を決定するカーネルの管理変数を設定する。 このコマンドはコマンド 2 +(\fBSYSLOG_ACTION_READ\fP) と 9 (\fBSYSLOG_ACTION_SIZE_UNREAD\fP) には影響を与えない。 +.TP +\fBSYSLOG_ACTION_CONSOLE_OFF\fP (6) +printk のコンソールへの出力を無効にする。 コンソールのログレベルを最小に設定し、 コンソールにメッセージが出力されないようにする。 引き数 +\fIbufp\fP と \fIlen\fP は無視される。 +.TP +\fBSYSLOG_ACTION_CONSOLE_ON\fP (7) +コンソールのログレベルをデフォルトに設定し、 コンソールにメッセージが表示されるようにする。 引き数 \fIbufp\fP と \fIlen\fP は無視される。 +.TP +\fBSYSLOG_ACTION_CONSOLE_LEVEL\fP (8) +コンソールのログレベルを \fIlen\fP で指定された値に設定する。 \fIlen\fP は 1 以上 8 以下の整数でなければならない。 詳細は +\fBログレベル (loglevel)\fP の節を参照のこと。 引き数 \fIbufp\fP は無視される。 +.TP +\fBSYSLOG_ACTION_SIZE_UNREAD\fP (9) (Linux 2.4.10 以降) +コマンド 2 (\fBSYSLOG_ACTION_READ\fP) でカーネル・ログ・バッファから読み出せるバイト数を返す。 引き数 \fIbufp\fP と +\fIlen\fP は無視される。 +.TP +\fBSYSLOG_ACTION_SIZE_BUFFER\fP (10) (Linux 2.6.6 以降) +カーネル・ログ・バッファの全体のサイズを返す。 引き数 \fIbufp\fP と \fIlen\fP は無視される。 +.PP +コマンド種別 3 と 10 以外のコマンドは全て特権が必要である。 +バージョン 2.6.37 より前の Linux カーネルでは、 +コマンド種別 3 と 10 は非特権プロセスも呼び出すことができる。 +Linux 2.6.37 以降では、\fI/proc/sys/kernel/dmesg_restrict\fP が値 0 の場合に限り、 +非特権プロセスはこれらのコマンドを呼び出すことができる。 +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 "ログレベル (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 (デバッグ・メッセージ以外の全て) にそれぞれ設定される。 +という数字に意味はなく、8 と同等である)。 この変数は \fItype\fP が 8 の \fBsyslog\fP() の呼び出しによって設定され、値の範囲は +1\-8 である。 \fItype\fP が 6 もしくは 7 の \fBsyslog\fP() の呼び出しの場合、 console_loglevel は 1 +(カーネル・パニックのみ)、 7 (デバッグ・メッセージ以外の全て) にそれぞれ設定される。 メッセージの各行はそれぞれにログレベルを持つ。このログレベルは \fIDEFAULT_MESSAGE_LOGLEVEL \- 1\fP (6) であるが、 (\fId\fP は 1\-7 の範囲の数字) で始まる行の ログレベルは \fId\fP である。 ログレベルの慣習的な意味は @@ -136,8 +159,8 @@ console_loglevel は 1 (カーネル・パニックのみ)、 7 (デバッグ・ .fi .SH 返り値 \fItype\fP が 2, 3, 4 の場合、成功すると \fBsyslog\fP() は読み出したバイト数を返す。 \fItype\fP が 9 の場合、 -カーネル・ログバッファにある現在読み出し可能なバイト数を返す。 \fItype\fP が 10 の場合、 カーネル・ログバッファの総量を返す。 \fItype\fP -がそれ以外の値の場合、成功すると 0 が返される。 +カーネル・ログ・バッファにある現在読み出し可能なバイト数を返す。 \fItype\fP が 10 の場合、 カーネル・ログ・バッファの総量を返す。 +\fItype\fP がそれ以外の値の場合、成功すると 0 が返される。 エラーの場合は、\-1\ が返り、 \fIerrno\fP にエラーを示す値が設定される。 .SH エラー @@ -160,12 +183,15 @@ console_loglevel は 1 (カーネル・パニックのみ)、 7 (デバッグ・ .SH 準拠 このシステム・コールは Linux 特有であり、移植を意図したプログラムでは 使用してはいけない。 .SH 注意 -かなり初期の頃から、同じ名前を持つシステム・コールと ライブラリ・ルーチンが全く異なる代物であるのは不幸なことだと 気付かれていた。 libc4 と -libc5 ではこのコールの番号は \fBSYS_klog\fP と定義されていた。 glibc2.0 でこのシステムコールは \fBklogctl\fP() -という名前に改められた。 +.\" In libc4 and libc5 the number of this call was defined by +.\" .BR SYS_klog . +.\" In glibc 2.0 the syscall is baptized +.\" .BR klogctl (). +かなり初期の頃から、同じ名前を持つシステムコールとライブラリルーチンが +全く異なる別物であるのは不幸なことだと指摘されてきた。 .SH 関連項目 \fBsyslog\fP(3), \fBcapabilities\fP(7) .SH この文書について -この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部 +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man\-pages/ に書かれている。