プロセスとジョブ制御

Linux のプロセス管理とジョブ制御を習得します。システムアクティビティの監視、フォアグラウンドおよびバックグラウンドジョブの管理、応答しないプロセスの終了、nice および renice を使用したプロセス優先度の制御方法を学びます。

DevOps EngineerLinuxDevOps

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この入門コースでは、ターミナルから Linux プロセスを観察して制御する方法を学びます。5 つのガイド付きラボを通して、プロセスのスナップショットとリアルタイム監視から、シェルのジョブ制御、シグナルによる終了、CPU スケジューリング優先度へ進みます。

最後のインシデント形式チャレンジでは、暴走プロセスを起動し、リソース使用量と PID を特定して、まず正常終了を試み、必要な場合だけ強制終了へ切り替えます。

学習内容

  • ps の現在のターミナル表示と ps aux のシステム全体の詳細を比較する
  • 対象プロセスを検索し、絞り込み結果でその PID と検索コマンド自身を区別する
  • top でシステム活動を確認し、メモリまたは CPU 使用率でプロセスを並べ替える
  • コマンドをフォアグラウンドまたはバックグラウンドで実行し、ジョブ ID と PID を区別する
  • Ctrl+Z、jobs、fg、Ctrl+C でジョブを一時停止・一覧表示・再開・中断する
  • kill で SIGTERM を送り、応答しないプロセスだけに SIGKILL を使い、pkill で名前を指定する
  • nice でプロセスを開始し、renice で実行中プロセスを調整する
  • 準備済みの暴走プロセスを段階的な対応で診断して終了する

このコースの対象者

このコースは、実践的なプロセス監視とターミナルのジョブ制御を身につけたい Linux 初学者、運用担当者、DevOps や SRE を目指す方を対象としています。

前提知識: ターミナルでの基本的な移動、コマンド実行、パイプ、簡単な出力リダイレクト。プロセス管理の経験は不要です。

学習環境: Ubuntu ベースの LabEx ターミナル。安全に監視、ジョブ制御、優先度、シグナルを練習できる準備済みのバックグラウンドスクリプトとプロセスを使用します。

よくある質問

コースはどのような構成ですか?

最初の 5 つのラボはガイド付きです。6 つ目は、少ないヒントでバックグラウンド実行、top、PID 検索、SIGTERM、SIGKILL を組み合わせる最後のチャレンジです。

ジョブ ID と PID はどう違いますか?

%1 のようなジョブ ID は現在のシェルのジョブ表に属し、fg などで使います。PID はシステム全体でプロセスを識別し、ps、renice、kill などで使います。

プロセスに問題があれば常に kill -9 を使うべきですか?

いいえ。まず既定の SIGTERM を送り、正常終了の機会を与えます。準備済みのプロセスが SIGTERM を無視した場合だけ、kill -9 で SIGKILL を送ります。

nice 値を変えると一定の CPU 時間が保証されますか?

いいえ。nice と renice はプロセスが CPU を競合するときの相対的な優先度に影響しますが、一定の CPU 割合を予約または保証しません。

講師

labby
Labby
Labby is the LabEx teacher.