LPIC101_regex_B54

>100 Views

April 22, 26

スライド概要

profile-image

はじめまして、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

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

LPIC-101 マスター学習ツール【B問題セット】 問54 プロセス管理 Q Ctrl+C が押されたときにプロセスに送信されるシグナルはどれですか。 ✓ 正解 → SIGINT (SIGnal INTerrupt / シグナル番号 2 / 中断) LPIC-101 | 問54 プロセス管理 1 /6

2.

1 この用語は? SIGINT(シグ・イント) SIGnal INTerrupt / 割り込みシグナル(シグナル番号 2)/ Ctrl+C で送信される かんたん定義 ■ 端末で実行中のプロセスに『中断して』と伝えるシグナル ■ Ctrl+C が押されるとカーネルが該当プロセスグループに SIGINT を送信 ■ シグナル番号 = 2。kill -2 PID でも同じことが可能 ■ プログラム側でキャッチ可能(catch/trap/ignore できる)。例外処理のフック点 LPIC-101 | 問54 プロセス管理 2 /6

3.

2 簡単に書くよ ※正確な表現ではありません ざっくりイメージ 図解で理解 ■ ターミナルで暴走プログラムを止めたいとき Ctrl+C を押す → プロセスに SIGINT が届く 主なシグナル ■ プログラムはこれを受け取って『後処理して から終了』できる(お行儀良い終了) Ctrl+C → SIGINT (2) ★正解 ■ × SIGSTOP は Ctrl+Z とも違う。Ctrl+Z = SIGTSTP (20)/SIGSTOP(19) はkill -STOPで のみ送れる強制停止 Ctrl+Z → SIGTSTP (20) ■ × SIGKILL(9) は強制終了、キャッチ不可(最 終手段) ■ × SIGTERM(15) は終了要求、kill の既定値。 お行儀よく終わってね ■ × SIGCONT(18) は停止中プロセスの再開用 Ctrl+\ → SIGQUIT (3) kill -9 → SIGKILL (9) Ctrl+C = 中断(INT) SIGSTOP は Ctrl+Z とは別(強制停止) LPIC-101 | 問54 プロセス管理 3 /6

4.

3 詳しく書くよ ※原理原則 原理原則: Ctrl+C = 端末から SIGINT(2) 送信 / プロセスは『中断』を知らされキャッチ可 能 ■ 〇 正解:SIGINT(signal 2)= 中断。Ctrl+C で送信 ■ × SIGKILL(signal 9)= 強制終了。キャッチ不可。kill -9 で送信(最終手段) ■ ■ × SIGTERM(signal 15)= 終了要求(デフォルト kill)。キャッチ可能 × SIGCONT(signal 18)= 停止中プロセスの再開 ■ ■ × SIGSTOP(signal 19/20)= 強制一時停止。キャッチ不可。Ctrl+Z ではなく kill -STOP で送る 補足:Ctrl+Z は SIGTSTP (signal 20)。SIGSTOP と似てるがキャッチ可能な点が違う ■ ■ 補足:Ctrl+\ は SIGQUIT (signal 3)。コアダンプして終了 全シグナル一覧: kill -l(ローワーケースL)で確認可能 ■ プログラム側の捕捉: Bashなら trap 'echo caught' INT、Pythonなら signal.signal(SIGINT, handler) LPIC-101 | 問54 プロセス管理 4 /6

5.

4 実機でやって問題ないか コマンド例 + Ubuntu / RedHat 差分 $ kill -l # シグナル一覧 1) SIGHUP 2) SIGINT 3) SIGQUIT 9) SIGKILL 15) SIGTERM ... $ sleep 1000 & # バックグラウンド実行 $ kill -SIGINT %1 # SIGINT送信 (kill -2 でも同じ) $ trap 'echo caught' INT # Bashで Ctrl+C をキャッチ Ubuntu Ubuntu/Debian のシグナル挙動は POSIX 準拠。kill/trap どちらも coreutils/bash 同梱。 LPIC-101 | 問54 プロセス管理 RedHat/RHEL RHEL/Rocky も POSIX 準拠で挙動は同じ。シグナル番号 も一致(SIGINT=2, SIGKILL=9 等は全UNIX系で共通)。 5 /6

6.

★ 一言でまとめるよ! Ctrl+C = SIGINT (2) / 中断! SIGSTOP(19) とは別物 うさうさ先生より ユキコさん、Ctrl+C と SIGSTOP は別! Ctrl+Z も SIGSTOP じゃなく SIGTSTP(20) なの混乱ポイント。 『Cは Interrupt、ZはTSTP、STOPはkillコマンド専用』♪ LPIC-101 | 問54 プロセス管理 6 /6