コース一覧
Linux入門:コマンド操作のきほん
プロセスとは何か

Linux入門:コマンド操作のきほん

ターミナル操作、ファイル管理、パーミッション、プロセス、シェル変数、リダイレクトなど Linux コマンド操作の基礎を、ブラウザ上のサンドボックスで実行しながら学べる無料コースです。サーバー運用やインフラに関わるエンジニアや学生を対象としています。約 17 時間 (1 日 30 分 × 34 日) で 68 レッスンを修了でき、修了後はサーバー作業、デプロイ作業、ログ調査など実務の Linux 操作を自力で進められるようになります。

1
Linuxとコマンドラインの基礎
0. Linuxとは?OSの基礎を理解する5分
1. エンジニアにLinuxが必要な理由5分
2. シェルとターミナルの違いを理解する5分
3. 最初のコマンドを打ってみよう5分
2
ファイル操作の基本コマンド
0. Linuxの「すべてはファイル」という考え方5分
1. ディレクトリの移動と確認5分
2. 絶対パスと相対パス5分
3. ファイルの中身を見る5分
4. ファイルとディレクトリの作成5分
5. cpでファイルをコピーする5分
6. mvでファイルを移動する5分
7. rmでファイルを削除する5分
8. ファイルシステムチェック5分
9. Linux 基礎チェック5分
3
テキスト処理とパイプ活用
0. パイプとリダイレクト5分
1. 文字列検索 grep5分
2. 正規表現入門5分
3. grep 応用:正規表現5分
4. テキスト加工 sed5分
5. 列処理 awk5分
6. パイプ活用:実践的なコマンド連携5分
7. テキスト処理チェック5分
4
ファイル検索と圧縮・解凍
0. find でファイルを検索する5分
1. ワイルドカードとグロブパターン5分
2. ファイルの圧縮と解凍5分
3. stat でファイル情報を確認する5分
4. ファイル管理チェック5分
5
パーミッションと権限管理
0. ユーザーとグループの概念5分
1. パーミッションの読み方5分
2. 権限の変更 chmod5分
3. 所有者の変更 chown5分
4. sudo - スーパーユーザーの力5分
5. 実行権限とスクリプト5分
6. パーミッションチェック5分
6
プロセス管理とジョブ制御
0. プロセスとは何か5分
1. psでプロセス一覧を確認する5分
2. topでリアルタイム監視する5分
3. プロセスの終了 kill5分
4. フォアグラウンドとバックグラウンド5分
5. nohupでログアウト後も実行する5分
6. プロセス管理チェック5分
7
ネットワークとSSH接続
0. ネットワークの基礎知識5分
1. ping で接続確認5分
2. curl で HTTP リクエスト5分
3. ネットワーク情報の確認5分
4. リモート接続 SSH5分
5. scp でファイル転送5分
6. rsync で効率的に同期5分
7. ネットワークチェック5分
8
環境変数とシェルのカスタマイズ
0. 環境変数とは5分
1. 環境変数の確認と設定5分
2. シェル設定ファイル5分
3. エイリアスで効率化5分
4. PATH を理解する5分
5. 環境設定チェック5分
9
シェルスクリプト入門
0. シェルスクリプトとは5分
1. 変数と引数5分
2. 条件分岐 if5分
3. ループ処理 for, while5分
4. 関数を定義する5分
5. 実践スクリプト作成5分
6. シェルスクリプトチェック5分
10
実践:ログ解析とシステム管理
0. ログファイルの解析5分
1. システム情報の取得5分
2. パッケージ管理5分
3. cron で定期実行5分
4. 開発環境での Linux 活用例5分
5. 総合チェック5分

Linux入門:コマンド操作のきほん

01Linuxとは?OSの基礎を理解する
02エンジニアにLinuxが必要な理由
03シェルとターミナルの違いを理解する
04最初のコマンドを打ってみよう
05Linuxの「すべてはファイル」という考え方
06ディレクトリの移動と確認
07絶対パスと相対パス
08ファイルの中身を見る
09ファイルとディレクトリの作成
10cpでファイルをコピーする
11mvでファイルを移動する
12rmでファイルを削除する
13ファイルシステムチェック
14Linux 基礎チェック
15パイプとリダイレクト
16文字列検索 grep
17正規表現入門
18grep 応用:正規表現
19テキスト加工 sed
20列処理 awk
21パイプ活用:実践的なコマンド連携
22テキスト処理チェック
23find でファイルを検索する
24ワイルドカードとグロブパターン
25ファイルの圧縮と解凍
26stat でファイル情報を確認する
27ファイル管理チェック
28ユーザーとグループの概念
29パーミッションの読み方
30権限の変更 chmod
31所有者の変更 chown
32sudo - スーパーユーザーの力
33実行権限とスクリプト
34パーミッションチェック
35プロセスとは何か
36psでプロセス一覧を確認する
37topでリアルタイム監視する
38プロセスの終了 kill
39フォアグラウンドとバックグラウンド
40nohupでログアウト後も実行する
41プロセス管理チェック
42ネットワークの基礎知識
43ping で接続確認
44curl で HTTP リクエスト
45ネットワーク情報の確認
46リモート接続 SSH
47scp でファイル転送
48rsync で効率的に同期
49ネットワークチェック
50環境変数とは
51環境変数の確認と設定
52シェル設定ファイル
53エイリアスで効率化
54PATH を理解する
55環境設定チェック
56シェルスクリプトとは
57変数と引数
58条件分岐 if
59ループ処理 for, while
60関数を定義する
61実践スクリプト作成
62シェルスクリプトチェック
63ログファイルの解析
64システム情報の取得
65パッケージ管理
66cron で定期実行
67開発環境での Linux 活用例
68総合チェック

Linux入門:コマンド操作のきほん

プロセスとは何か

起動したはずのアプリが、動いているのか分からない

デプロイしてサーバーを起動したのに、ブラウザからは応答がない。ログにも何も出ていない。このとき最初に確かめたいのは、そのプログラムが今このマシンで走っているかどうかです。そもそも走っていないのか、走っているのに詰まっているのかで、次の一手はまったく変わります。

Linux はこれを、プロセスという単位で管理しています。走っているものは必ずプロセスとして数えられていて、走っていないものは 1 つも数えられていません。

プログラムは設計図、プロセスは建った家

/usr/bin/python3 はディスクに置かれたファイルで、これ自体は何もしません。起動するとメモリの領域と番号が割り当てられ、動く実体が生まれます。この実体がプロセスです。

ターミナル

$ pgrep -a python3 2100 python3 /app/worker.py 2101 python3 /app/worker.py

同じファイルを 2 回起動すれば、プロセスは 2 つできます。それぞれ別のメモリを持っていて、片方の変数がもう片方から見えることはありません。だから「python3 を止めたい」という言い方は曖昧で、止める対象は必ず番号で指します。

この番号を PID と呼びます。マシンの中で重複しない番号で、止めるときも資源の使用量を調べるときも、常にここが入口になります。自分が今打っているシェル自身の PID はシェル変数 $$ に入っていて、その親の PID は $PPID に入っています。

番号が分かれば、そのプロセスの中身はファイルとして覗けます。

ターミナル

$ ls /proc/2100/ cmdline cwd environ exe fd limits status

cmdline に起動時のコマンド行、cwd にどのディレクトリで動いているか、status にメモリの使用量が入っています。この後に出てくる道具は、どれも結局ここを読んで整えているだけです。

すべてのプロセスは 1 本の木につながっている

プロセスは、既にあるプロセスから枝分かれして生まれます。生んだ側の番号を PPID として持つので、親をたどっていくと必ず 1 番に行き着きます。

ターミナル

$ pstree -p | head -4 systemd(1) ├─sshd(890)───sshd(1234)───bash(1235)───vim(1300) └─cron(901)

ログインすると sshd の子として自分のシェルが生まれ、そのシェルの子として打ったコマンドが生まれる、という積み重なりです。この形を知っていると、止めたいものが枝の先なのか根元なのかを判断できます。Web サーバーのように親が子を作り直す作りだと、子を止めても親がすぐ新しい子を立てるので、いつまでも終わりません。

終わったのに消えないものがある

プロセスは終了するとき、終了コードを親に渡します。親がそれを受け取るまで、記録だけがその場に残り続けます。この状態をゾンビと呼びます。

一瞬なら普通のことですが、数が増え続けているなら、親のプログラムに受け取り忘れがあります。ゾンビ自体はメモリも CPU も使いませんが、PID の在庫を消費するので、放置すると新しいプロセスを作れなくなります。

解説

ゾンビは止められません。既に終わっているので、いくら終了を命じても何も起きません。消したいときは、受け取っていない親のほうを止めます。親がいなくなった子は 1 番のプロセスが引き取り、そこで回収されます。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • デプロイ本番環境へアプリを配置し公開する作業
  • サーバークライアント(ブラウザなど)がリクエストを送り、サーバーがレスポンスを返す。
  • ブラウザユーザーから見たWebのクライアント
  • プロセス実行中のプログラムのこと。
  • 設計何をどう作るかを決める前工程
  • メモリプログラムとデータを一時保持する高速領域
  • 変数データに名前をつけて参照する仕組み
  • シェルコマンドを解釈して実行するプログラム
生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2025/12/19·更新 2026/08/26

関連レッスン

  • psでプロセス一覧を確認する

    psコマンドを使って、現在実行中のプロセス一覧を表示し、確認する操作を学びます。

  • topでリアルタイム監視する

    topコマンドで、CPUやメモリの使用状況など、システムの状態をリアルタイムに監視します。

  • プロセスの終了 kill

    不要なプロセスを終了させる`kill`コマンドの使い方をターミナルで実践的に学びます。

  • フォアグラウンドとバックグラウンド

    コマンドをフォアグラウンドとバックグラウンドで実行する方法を、実際に操作しながら理解します。

分からないところは Tap (AI先生) に質問できます

24 時間いつでも、あなたのレベルに合わせて日本語で答えます。