FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | IOCTL | 戻り値 | エラー | 関連ファイル | 使用例 | 関連項目 | 歴史 | バグ
FILEMON(4)         FreeBSD カーネルインタフェースマニュアル         FILEMON(4)

名称
     filemon -- filemon デバイス

書式
     #include <dev/filemon/filemon.h>

解説
     filemon デバイスによって、プロセスは、その複数の子どものファイル操作デー
     タを集めることができます。デバイス /dev/filemon は、2 つの ioctl(2) 呼び
     出しに応答します。

     filemon は、セキュリティ監査ツールであることを目的といしていません。多く
     のシステムコールは、トレースされず、外部の ABI バイナリは、完全に監査され
     るわけではありません。効率的で、容易に解析可能な形式で、その依存状態を決
     定する目的のためにプロセスの監査することを目的としています。これの例は、
     よりスマートに追加の構築を扱う .MAKE.MODE=meta でこのモジュールを使用する
     make(1) です。

     システムコールは、次の単一文字を使用して表示されます:

     `A'     openat(2)。次のログエントリは、絶対的なパスが不足しているか、また
             は不正確です。
     `C'     chdir(2)
     `D'     unlink(2)
     `E'     exec(2)
     `F'     fork(2), vfork(2)
     `L'     link(2), linkat(2), symlink(2), symlinkat(2)
     `M'     rename(2)
     `R'     読み込みのための open(2) または openat(2)
     `W'     書き込みのための open(2) または openat(2)
     `X'     _exit(2)

     `R' に続く `W' レコードは、R/W のための単一の open(2) または `R' のための
     1 つ、`W' のための 1 つの 2 つの個別の open(2) 呼び出しを表わすことができ
     ることに注意してください。成功したシステムコールだけが捕獲 (capture) され
     ることに注意してください。

IOCTL
     ユーザモードのプログラムは、下記に記述されている多くの ioctl を通して
     filemon ドライバと通信します。各々は、単一の引数を取ります。

     FILEMON_SET_FD   供給されたオープンファイル記述子に内部のトレースバッファ
                      を書き込みます。

     FILEMON_SET_PID  トレースする子プロセスの ID。これは、通常、fork(2) の後
                      ですが、他の何かの前に、子プロセスの親のプロセスの制御の
                      下で行われるべきです。下記の使用例を参照してください。

戻り値
     ioctl() 関数は、成功するなら、値 0 を返します。そうでなければ、値 -1 が返
     され、グローバル変数 errno は、エラーを示す値が設定されます。

エラー
     FILEMON_SET_FD を付けた ioctl() システムコールは、次の場合に失敗します:

     [EEXIST]           filemon ハンドルが、すでにファイル記述子と関連していま
                        す。

     FILEMON_SET_PID を付けた ioctl() システムコールは、次の場合に失敗します:

     [ESRCH]            指定されたプロセス ID があるプロセスが、存在しません。

     [EBUSY]            指定されたプロセス ID が、既にトレースされ、現在のプロ
                        セスではありませんでした。

     filemon ファイル記述子の close() システムコールは、ログを書き込んでいる間
     に何かのエラーに遭遇するなら、write(2) のエラーで失敗します。また、それは
     次の場合に失敗します:

     [EFAULT]           無効のアドレスが、システムコールのためのログエントリが
                        ない結果となり、トレースされたシステムコール引数のため
                        に使用されました。

     [ENAMETOOLONG]     トレースされたシステムコールのための引数が、システム
                        コールのためのログエントリがない結果となり、長すぎまし
                        た。

関連ファイル
     /dev/filemon

使用例
     #include <sys/types.h>
     #include <sys/stat.h>
     #include <sys/wait.h>
     #include <sys/ioctl.h>
     #include <dev/filemon/filemon.h>
     #include <fcntl.h>
     #include <err.h>
     #include <unistd.h>

     static void
     open_filemon(void)
     {
             pid_t child;
             int fm_fd, fm_log;

             if ((fm_fd = open("/dev/filemon", O_RDWR | O_CLOEXEC)) == -1)
                     err(1, "open(\"/dev/filemon\", O_RDWR)");
             if ((fm_log = open("filemon.out",
                 O_CREAT | O_WRONLY | O_TRUNC | O_CLOEXEC, DEFFILEMODE)) == -1)
                     err(1, "open(filemon.out)");

             if (ioctl(fm_fd, FILEMON_SET_FD, &fm_log) == -1)
                     err(1, "Cannot set filemon log file descriptor");

             if ((child = fork()) == 0) {
                     child = getpid();
                     if (ioctl(fm_fd, FILEMON_SET_PID, &child) == -1)
                             err(1, "Cannot set filemon PID");
                     /* ここで何かを行います. */
             } else {
                     wait(&child);
                     close(fm_fd);
             }
     }

     filemon.out と名前を付けられたファイルを作成し、それに filemon バッファの
     内容を書き込むために filemon デバイスを設定します。

関連項目
     dtrace(1), ktrace(1), script(1), truss(1), ioctl(2)

歴史
     filemon デバイスは、FreeBSD 9.1 で登場しました。

バグ
     モジュールをアンロードすることは、システムをパニックにし、したがって、
     kldunload -f を使用することを必要とします。

FreeBSD 11.2                    March 22, 2016                    FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索