/procディレクトリを活用する:Linux Hacks(3/4 ページ)
/procディレクトリには、Linuxシステムについてのあらゆる詳細な情報がある。/procを学ぶことで、Linuxのコマンドの仕組みを学んだり、さらにはシステム管理的なことを行ったりできる。
プロセスの内容
前述した通り、数字の名前がついているディレクトリは実行中の各プロセスを表わしている。プロセスが終了すれば、そのプロセスの/proc内のディレクトリは自動的に削除される。ディレクトリが/procディレクトリ内に存在している間に確認してみると、以下のようなさまざまなファイルがあることが分かる。
attr cpuset fdinfo mountstats stat
auxv cwd loginuid oom_adj statm
clear_refs environ maps oom_score status
cmdline exe mem root task
coredump_filter fd mounts smaps wchan
以下に主なファイル/ディレクトリを挙げる。
- cmdline:プロセスを開始したコマンド名と、全パラメータを表示する
- cwd:プロセスのCWD(カレント・ワーキング・ディレクトリ)へのシンボリックリンク。なお同様にexeはプロセスの実行ファイルへのシンボリックリンク、rootはプロセスのルートディレクトリへのシンボリックリンク
- environ:プロセスの環境変数をすべて表示する
- fd:プロセスが使用しているすべてのファイル/デバイスのファイルディスクリプタを含むディレクトリ
- maps、statm、mem:プロセスが使用中のメモリに関連するファイル
- stat、status:プロセスの状態についての情報を提供する。statよりもstatusの方が分かりやすい表示になっている
以上のようなファイルを利用すれば、さまざまなスクリプトを書くこともできる。例えばゾンビプロセスを探し出したい場合には、数字の名前がついた各ディレクトリの/statusファイルの中に「(Z) Zombie」という表示があるかどうかを確認すればよい。同様に以前、あるプログラムが実行中なのかどうかを知る必要があったのだが、その際には/cmdlineファイルの中に目的の文字列があるかどうかを調べることで確認できた(ただしこのことはpsコマンドの出力からも知ることができる)。さらに言えば、もっと見かけのよいtopを作りたいという場合にも、必要な情報はすべてそろっている。
Copyright © 2010 OSDN Corporation, All Rights Reserved.