>100 Views
April 22, 26
スライド概要
はじめまして、ALJ Education Plus 株式会社のyukikoと申します。 IT教育支援や、DX推進が可能です。 ◆ スキル LPIC レベル2 AI / Python Splunk BI(データ可視化・分析) ◆ その他 新卒・未経験の学生向けに、エンジニア転職を応援する資料を趣味で作成しています。 もしよろしければご活用ください。 ◆IT研修講師をお探しの方は [email protected] にお気軽にお問い合わせください。 ※ALJ Education Plus 株式会社を通して、ご支援させていただきます。 ◆Zenn https://zenn.dev/yukiko_sapporo/articles/46c13e9f98b110
LPIC Level 1 / 101 試験対策 問 48 プロセス管理 PID 1 のプロセス = systemd systemd 問題 systemd を採用したシステムで、 PID 1 のプロセスは何ですか。 正解 : systemd 新卒未経験・文系出身者向け / 面白きなき世を面白く ── 石黒 友季子 🍩
問 48 プロセス管理 ① 用語 と ② かんたん解説 ① 用語 PID 1 = カーネル起動直後に最初に起動されるプロセス Linux は起動時、カーネルが読み込まれた後にユーザー空間で最初のプロセスを起動する。これが PID 1 。 すべてのプロセスは PID 1 の子孫になる。親プロセスが死んだ「孤児」も PID 1 が引き取って面倒を見る。 現代のほとんどの Linux では PID 1 = systemd 。 ② かんたん解説 ※ 正確な表現ではございません 🍜🐰 うさうさラーメン店で例えると… systemd は「総支配人」。 店が開店するとき一番最初に出勤して、厨房・ホール・レジ…すべての担当者の 親 になる。もし担当者が倒れて居場所 が無くなっても、総支配人が引き取ってくれる。 昔はこの役目を「 SysV init 」という古参店員がやっていたが、時代と共に systemd に代わった。 LPIC Level 1 / 石黒 友季子 / 問 48 2/4
問 48 プロセス管理 ③ 原理原則 ─ 図で覚える PID 1 = 全プロセスの「始祖」 = systemd ( 現代の Linux) PID 1: systemd 👑 プロセスの始祖 sshd NetworkManager cron login PID 742 PID 812 PID 901 PID 1023 💡 init システムの歴史 ─ PID 1 の中身は時代で変わってきた 〜 2010 SysV init /etc/rc*.d スクリプトで順番起動 2006 〜 Upstart Ubuntu が採用 ( イベント駆動 ) 2010 〜 systemd 並列起動・依存解決・サービス管理 LPIC Level 1 / 石黒 友季子 / 問 48 3/4
問 48 プロセス管理 まとめ・実機 OK ?・ディストリ差・選択肢の罠 🎯 一言でまとめるよ! PID 1 は systemd 。すべてのプロセスの親で、 Linux 起動直後に最初に動く。 ✓ 実機でやって OK ? 🐧 Ubuntu / RedHat 完全に OK 、読み取り専用。 現代の主要ディストリは両方 systemd 。 $ ps -p 1 PID TTY TIME CMD 1? 0:05 systemd • Ubuntu: 15.04 以降 systemd • RHEL: 7.0 以降 systemd • Debian: 8 以降 systemd $ systemctl status $ pstree | head 例外 : • Alpine Linux → OpenRC • Gentoo → 選択可 • 旧 Ubuntu(14.04) → Upstart 🪤 選択肢の罠 ─ 雰囲気で選ばない! ⚠ PID 1 を kill -9 しようとしてもできない ( カーネルが保護 ) 。 ✗ init → 古い Sys V init 。現代 Linux では使われない ✗ kthreadd → PID 2( カーネルスレッドの親 ) ✗ bash → 単なるシェル。親を辿ると systemd に行き着く ✗ sshd → SSH サーバ。 systemd の子プロセス ◯ systemd → 正解! PID 1 LPIC Level 1 / 石黒 友季子 / 問 48 4/4