HOMEサンプル問題・例題解説101試験の例題と解説103.5 プロセスを生成、監視、終了する

101試験の例題と解説

103.5プロセスを生成、監視、終了する

今回は、101試験の出題範囲から「103.5 プロセスを生成、監視、終了する」についての例題を解いてみます。

■例題
OBJECTIVE: 1.3.5 TYPE: mc 
Under the bash shell, when a command is running, pressing control-Z will usually

1.suspend the foreground task.
2. adds an EOF to the file.
3. kill the command running in the foreground
4. move the foreground task into the background
5. log the user off


■例題の翻訳
bashシェルを使ってコマンドを実行している時にCtrl-Zキーを押すと通常どうなりますか?

1. フォアグラウンドタスクをサスペンドする
2. EOF(End Of File)をファイルに追加する
3. フォアグラウンドで実行中のコマンドを終了する
4. フォアグラウンドタスクをバックグラウンドに移行する
5. ユーザーをログオフ(ログアウト)させる

解答と解説

答えは 1となります。

プログラムは、Linux上で動作している時には「プロセス」と呼ばれます。ユーザーが実行しているプロセスを「タスク」と呼ぶこともあります。
LinuxはマルチユーザーマルチプロセスのOSであり、同時に多くのプロセスが実行可能です。プロセスは所定の処理が完了すると終了しますが、その他にシグナルを送ることでコントロールすることができます。シグナルを送るにはkillコマンドを実行するか、Ctrlキーと何かのキーを同時に押すことで現在実行しているプロセス(フォアグラウンドタスク)にシグナルを送ることができます。

現在実行しているプロセス以外に実行中のプロセスを、背後で動いているという意味から「バックグラウンドタスク」と呼びます。例題のCtrl-Zを押すと、フォアグラウンドタスクをバックグラウンドタスクに移行させると共に、その実行を一時的に停止することができます。これを「サスペンド」と呼びます。

選択肢2はCtrl-Dで実行できます。たとえばキーボードから標準入力に対して何かを入力している際にEOFが送信されると「入力終了」という意味になります。

選択肢3はCtrl-Cで実行できます。いつまでも実行し続けるプログラムなどを停止する場合に利用します。

選択肢4はCtrl-Zの機能の半分だけの説明のため正しくありません。

選択肢5はログインシェルのbashでコマンドを実行していない時にCtrl-Dを入力した際の動作です。つまりbashに対してEOFを入力するとbashが終了し、動いているプロセスが無くなるためログオフすることになります。

プロセス管理で最も重要なコマンドはkillコマンドです。プロセスを終了させるだけでなく、シグナルを送ることでプロセスをコントロールできます。
シグナルのリストはkill -lで見ることができます。
それぞれのシグナルにはシグナル番号とシグナル名がついています。
主なシグナルについてきちんと覚えておきましょう。

■主なシグナル

シグナル番号シグナル名役割
1HUPハングアップ。デーモンは設定再読込で再起動
2INTインタラプト。Ctrl-Cと同様
9KILLプロセスを強制的に終了
15TERMターミネート。終了。killコマンドのデフォルト
18TSTPサスペンド。Ctrl-Zと同様



  • 今回の解説について、理解できないポイントがあればどんどん質問を。
  • 採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
  • ご質問・ご意見はこちら
  • ※上記の解説とその内容については、例題作成者の監修です。
    内容や試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。

このページのトップへ