初心者のWEBデザイン

HTML,CSS、その他WEBデザインに関する事を記述していきます.

bash シェルの仕組

LinuxUnix系のOSには切っても切れないシェル。

コマンドラインにコマンドを打った時に実行が終わるまでの
流れを記述します。

  1. コマンドラインにユーザーかコマンドを記述
  2. シェルがコマンドを解釈し展開する
  3. コマンド実行前にシェルはforkする
  4. 子プロセスがexecシステムコールで記述されたコマンドに成り代わる
  5. 呼び出し元の親プロセスはwaitシステムコールにより子プロセスのexitシステムコールを待つ
  6. シェルがカーネルにコマンドを実行させる
  7. 実行結果がCUIに出力される

※項目3の補足:子プロセスは,プロセスIDが違う別のシェルが出来上がる。
環境変数・設定はコピー元である親プロセスから引き継がれる。

fork:プロセスをコピーし自分自身の子プロセスを生成するシステムコール
システムコールカーネルの機能を呼び出すための機構のこと