FUSER(1) | User Commands | FUSER(1) |
fuser - ファイルやソケットを使用しているプロセスを特定する
fuser [-a|-s]
[-n space] [-signal]
[-kimuv] name ... [-]
[-n space] [-signal]
[-kimuv] name ...
fuser -l
fuser -V
fuser は,引数としてわたされたファイルやファイルシステムを使用しているプロ セスの PID を表示する。デフォルトの表示モードでは、それぞ れのファイル名の後に、アクセスの形式を示す以下の文字が表示される:
引数としてわたされたファイルが一つもアクセスされていないときや、致命的 なエラーが発生した場合には、 fuser は 0 以外の値を返す。引数とし て指定したファイルがどれかひとつでもアクセスされていれば、 fuser はゼロを返す。
TCP と UDP のソケットを使用しているプロセスを探す場合には、名前空間を -n オプションによって選択しなければならない。このオプションを用 いれば、ソケットはローカルとリモートのポート、およびリモートのアドレス によって指定できる (複数のソケットを指定することもできる)。すべてのフィー ルドは省略可能であるが、省略したフィールドの前にはコンマを置かなければ ならない。
[lcl_port][,[rmt_host][,[rmt_port]]]
IP アドレスにもポート番号にも、シンボルによる記述と数値による記述の両 方が可能である。
/proc location of the proc file system /proc proc ファイルシステムの場所
fuser -km /home は、 /home ファイルシステムにアクセスしている すべてのプロセスを kill する。
if fuser -s /dev/ttyS1; then :; else something; fi は、 他のプロセスが /dev/ttyS1 を使っていない場合に限って something を実行する。
fuser telnet/tcp は、(ローカルの) TELNET ポートにアクセスしている すべてのプロセスを表示する。
同一のファイルや同一のファイルシステムに、同じ方法で複数アクセスしている プロセス群は、一つだけ表示される。
同一のオブジェクトがコマンドラインで二回以上指定されても、 それらのエントリは無視される。
ルート権限で実行しない限り、 fuser が得ることのできる情報は 部分的なものである。したがって、他のユーザーのプロセスによってオープンされた ファイルは表示されないし、実行ファイルは mapped に分類されるだけになるだろう。
情報が部分的にしか得られないことによって生じるこの問題は、 fuser を root に SUID してインストールすれば避けることができるだろう。 しかしこの方法は、セキュリティやプライバシーの理由から望まれないことが 多いだろう。
udp と tcp の名前空間と UNIX ドメインソケットは、 1.3.78 より古いカーネルでは見つけることができない。
udp と tcp は、現在のところ IPv4 でしか動作しない。
カーネルによるアクセスは -v オプションをつけないと表示されない。
-k オプションはプロセスにしか有効でない。ユーザーが kernel の 場合、 fuser はそれなりの助言を表示するだろうが、それ以上の 動作は行わない。
Werner Almesberger <Werner.Almesberger@epfl.ch>
October 25, 1999 | Linux |