Linuxカーネルが起動された後に、様々なサービスが起動しますが、このサービスの起動を行う大元のプログラムがinitといわれるものです。通常プログラムが実行され、起動されるとLinux上でプロセスという存在になります。プロセスとは、プログラムが実行によりLinuxカーネルにメモリ空間などのコンピュータリソースを割り当てられた実行状態のことをいいます。initプロセスです。プロセスが様々なサービスを起動する仕組みになっています。通常プログラムからさらに別のプログラムが実行される場合、起動後のプロセスに親子関係ができます。起動した側のプロセスを親プロセス、起動された側のプロセスを子プロセスと表現します。このことから、initプロセスは全てのプロセスの親プロセスと呼ばれ、常にプロセスの構造の最上位になっています。初期化時の依存関係を定義する必要があります。依存関係の連鎖によって、不要なプログラムを起動してしまう欠点がありました。systemdそのプログラムが必要か否かを、ソケットの利用やアプリケーション同士のやり取りを行うバス「D-Bus」上のメッセージなどで判断し、必要に応じて起動することが可能になりました。これによって、無駄なプログラムを起動せずに済むため、Upstartよりも高速になっています。色々なサービスを起動していきます。決められた順番で起動あるいは停止していきます。サービスが起動できる状態になったときに、起動します。その元のサービスの起動が開始したり完了したりするタイミングで起動されます。ランレベルが変わったときなどのタイミングで起動されることもあります。これらのタイミングを「イベント」で通知します。Upstartは、/etc/event.dディレクトリに格納されているファイル群で定義された「イベント・ジョブ」を実行する仕組みになっています。コマンド名」という設定行で指定したコマンドが実行されます。Upstartのようなイベント駆動型initプログラムを使うことのメリットは、より柔軟なシステム管理を実現できることです。最近では、USB機器など自由に抜き挿しできるデバイスを使う機会が増えています。したデバイスによってシステム構成が動的に変化する場合、OS起動時に必要な設定や起動すべきサービスなどもそれに合わせて変える必要があります。SysVinitのようにラン・レベルに基づいた静的な起動手順通りに処理するinitプログラムは、そうした柔軟な処理に向いていません。イベント駆動型のUpstartなら、例えばOS起動時に接続されている機器をチェックし、機器が見つかった場合には、そのイベント情報に基づいて必要な設定だけを読み込んだりサービスを起動するといったことが可能になります。依存関係にしたがってサービスを起動することができます。起動の条件がそろっていても、順番が来るまでは、待たされます。OSが効率よく立ち上がります。ランレベルinitプロセスは起動時に色々なプログラムを実行する仕組みを持っていますが、このinitプロセスが実行するプログラムによりLinuxの実行状態が変化します。このinitプロセスが実行する内容によるLinuxの実行状態の変化を、ランレベルといいます。ランレベルには0~6までのレベルがあり、それぞれに以下のような意味があります。ユーザーのみが利用できる状態です。一般ユーザーはログインできません。システムの変更などユーザーが利用していては行えない作業を行う場合などでシングルユーザーモードを使用します。パスワードを忘れた場合などもシングルユーザーモードでは、ログインなしでシステムを利用できるので、パスワードの変更などが可能です。ランレベルは結局initプロセスの動作を指定するもので、起動から停止に至る制御をinitプロセスが行っているということを示すものです。initプロセスが実行するプログラム群は、自由に設定することができ、その起動の順番も制御することができます。起動順を指定することは重要で、起動の順番を不正なものにすると起動できないサービスがでてきます。サーバなどを起動時に実行したい場合、起動ランレベルにサーバプログラムを登録しますが、このサーバの起動順がネットワークサービスより早く設定されてしまうと、サーバは起動できません。最初の方に実行されるようになっているため、このような心配をすることはあまりないと思います。注意が必要なのは、ランレベルにはディストリビューションごとに差異があるということです。基本的にランレベルで実行されるプログラム群は特定の場所に起動スクリプトが配置されるようになっていますが、これはディストリビューションごとに配置場所が異なります。ランレベルの定義もディストリビューションごとに異なっています。実はLinuxの標準仕様で定義されているのは、ランレベル0、1、6の動作だけです。その他の2~5の動作については特に標準定義がなく、ディストリビューションによるため、ディストリビューションによっては通常起動レベルが異なる場合があります。通常起動になっています。コマンドを実行します。インストール時から一度もランレベルを変更していない事を表しています。あることを表しています。コマンドを使用し、スーパーユーザーでなければ変更する事ができません。変更するには以下のように実行します。するとテキストログイン画面から、グラフィカルログイン画面に切り替わります。編集する必要があります。指定した場合は、システムがシャットダウンします。コマンドと異なる点は、全てのログインユーザーに対して、メッセージを表示せずにシステムをシャットダウンすることです。以下のような書式で記述されています。id:<runlevels>:<action>:<process>id・・・エントリの識別子。ユニークな文字列(1~4文字)でなければならない。runlevel・・・ランレベルの指定で、1から6までの数字が使える。「2345」など、複数を同時に指定できる。省略するとデフォルトランレベルとなる。action・・・プロセスの起動あるいは終了時の動作。デフォルトのランレベルを指定する。プロセス項は無視される。プロセスが終了した場合は常に再起動。通常は、getty(ログインプロンプトを出すプログラム)のために使用される。システムの起動時に実行される。エントリよりも先に実行される。指定したランレベルの移行時に1度だけ実行する。このプロセスが終了するまで待機する。システム起動中にのみ実行される。プロセス項で指定したプロセスが終了するのを待たずに残りの処理を行う。システム起動中にのみ実行される。プロセス項で指定したプロセスが終了するのを待って残りの処理を行う。ランレベルが指定された場合に、一度だけ実行される。ここで編集したランレベルは、システムを再起動した後も、有効になります。ディレクトリに格納されている起動スクリプトによって制御することになります。シンボリックリンクされています。)にリンクを張ることによって、各種のプログラムがどのランレベル時に起動、もしくは停止するかを設定する事ができます。ディレクトリ内を見てみると以下のようになっています。始まるファイルが存在する事です。いうプログラムは停止することを意味します。起動するということを意味します。続く数字はスクリプトファイルを実行する優先順位を表しており、数値の小さい順に実行されます。おいて、10番目に起動されるということになります。3番目に実行される事になります。変更してあげればいいだけです。前にドット「.」などを付けてリネームしても構いません。おいてもプログラムを起動させたいというような場合は、シンボリックリンクをはっておきます。../rc2.d/S55sshdサービス(デーモン)を起動させるには、以下のようにします。コマンドを使用します。一般ユーザーにはシステムを再起動、もしくは、シャットダウンする権限はありません。シャットダウンコマンドが投入されると、それ以後はユーザーがログインできなくなります。"午後9時ちょうどにシステムは停止します。"メッセージが設定されていると、シャットダウン時間が近づくにつれメッセージが頻繁に表示されるようになります。システムのランレベルを制御する。これには、シングルユーザモードへの変更と、システムのシャットダウンまたはリブートも含まれる。ランレベルを変更する前にユーザに警告し、プロセスを適切に終了させる。これには、デフォルトのランレベルの設定も含まれる。click-rescueこのサイトは、MySQLとPHPで構成されています。合計;00007862。