【LinuC 101】プロセスとデーモン(daemon)

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

Linuxサーバ上で動いているプログラムは全てプロセスとして管理されており、
プロセスには、Linuxが起動した後にメモリ上に常駐するプロセスと、
実行するときだけメモリ上に読み込まれて実行後すぐに終了するプロセスがあります。

メモリ上に常駐するプロセスは、Linuxが稼働するために必要なプログラムとして動作しており、
メモリ上に常駐するプロセスはデーモン(daemon) と 呼ばれます。
※デーモンの意味は,悪魔の「demon」ではなく守護神の「daemon」です。

メモリ上に常駐するプロセス(デーモン)に対して、
コマンドラインでユーザーが実行するプログラムなどが、
実行するときだけ動作するプロセスとなります。





後程、詳しく説明致しますが、
プロセスの表示にはコマンドps を使います。
下記では、コマンドps にオプションauxf を付けてコマンド実行しプロセスを表示しています。


また、プロセスは/proc 配下にプロセスディレクトリとして、
/proc/(プロセスID)ディレクトリの表記で保存され、
プロセスが終了すると、その /procプロセスディレクトリは消えます。

ディレクトやファイルの表示にはコマンドls を使います。
下記では、コマンドls にオプション-al を付けてコマンド実行し/proc/配下を表示しています。

/proc/(プロセスID)ディレクトリの、
プロセスディレクトリには下記のようなファイルが含まれています。
プロセスの詳細を調べる事ができますが、内容を編集したり削除してしまうと、
システムに影響がでる場合があるので、参照用として利用します。


cmdline      プロセスを開始したコマンド
cwd        プロセスのカレントワーキングディレクトリ(CWD)へのシンボリックリンク
exe       プロセスの実行ファイルへのシンボリックリンク
root       ルートディレクトリへのシンボリックリンク
cpu       各cpuでのCPUタイムと統計情報
environ     プロセスの環境変数の一覧
fd         プロセスが使用しているファイル・デバイスのファイル記述子
maps      プロセスのアドレス空間の状態
mem      プロセスのアドレス空間の内容
statm      プロセスのページ割り当て
stat        プロセスの状態
status      プロセスの状態(statより詳しい内容)



Linuxに限らずですが、システムを触っていると、
役目を終えているのにプロセスが終了せず、
メモリを開放してくれないプロセスについて対応する場面が出てくると思います。
そんな状態のプロセスを「ゾンビプロセス」や「孤児プロセス」と言ったりします。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*