Oracle® Solaris 11.2 デバイスドライバの記述

印刷ビューの終了

更新: 2014 年 9 月
 
 

デバイスユーザーコマンドインタフェース

fuser(1M) コマンドは、デバイス使用状態の情報を表示するように拡張されています。fuser(1M) コマンドは、path がデバイスマイナーノードを表している場合のみ、デバイス使用状態情報を表示します。–d フラグが fuser(1M) コマンドで有効なのは、デバイスマイナーノードを表す path を指定した場合だけです。

fuser path

path がデバイスマイナーノードを表している場合に、アプリケーションデバイスコンシューマとカーネルデバイスコンシューマに関する情報を表示します。

fuser -d path

path で表されたデバイスマイナーノードと関連付けられている、配下のデバイスのユーザーをすべて表示します。

カーネルデバイスコンシューマは次の 4 つの形式のいずれかで報告されます。カーネルデバイスコンシューマは常に角括弧で囲まれます ([])。

        [kernel_module_name]
        [kernel_module_name,dev_path=path]
        [kernel_module_name,dev=(major,minor)]
        [kernel_module_name,dev=(major,minor),dev_path=path]

fuser(1M) コマンドでファイルまたはデバイスユーザーが表示されるときの出力は、stdout でのプロセス ID と、それに続く stderr での文字から構成されます。stderr での文字は、ファイルまたはデバイスがどのように使用されているかを説明するものです。カーネルコンシューマ情報はすべて stderr に表示されます。stdout にはカーネルコンシューマ情報は表示されません。

–d フラグを使用しない場合、fuser(1M) コマンドは path によって指定されたデバイスマイナーノードのコンシューマについてのみ報告します。–d フラグを使用する場合、fuser(1M) コマンドは、path によって指定されたマイナーノードの下にあるデバイスノードのコンシューマについて報告します。次の例は、これら 2 つの場合のレポート出力における違いを示しています。

使用例 14-11  配下のデバイスノードのコンシューマ

ほとんどのネットワークデバイスは、デバイスが開かれたときにマイナーノードを複製します。クローンのマイナーノードのデバイス使用状態情報を要求すると、使用状態情報に、そのデバイスを使用してるプロセスはないと表示される可能性があります。代わりに、配下のデバイスノードのデバイス使用状態情報を要求すると、使用状態情報に、1 つのプロセスがそのデバイスを使用してると表示される可能性があります。この例では、デバイスの path のみが fuser(1M) コマンドに渡された場合、報告されるデバイスコンシューマはありません。–d フラグが使用されると、出力には、udp および udp6 によってデバイスが使用されていることが表示されます。

% fuser /dev/iprb0
/dev/iprb0:
% fuser -d /dev/iprb0
/dev/iprb0:  [udp,dev_path=/pseudo/udp@0] [udp6,dev_path=/pseudo/udp6@0]

この例の出力を、Example 14–10 の出力と比較してください。

使用例 14-12  キーボードデバイスのコンシューマ

この例では、カーネルコンシューマは /dev/kbd にアクセスしています。/dev/kbd デバイスにアクセスしているカーネルコンシューマは、ワークステーションコンソールドライバです。

% fuser -d /dev/kbd
/dev/kbd:  [genunix] [wc,dev_path=/pseudo/wc@0]

この例の出力を、Example 14–9 の出力と比較してください。