LPIC101_regex_B58

>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問題セット】 問58 プロセス管理 Q ログアウト後も backupjob を実行し続ける方法はどれですか。 ✓ 正解 → nohup backupjob & LPIC-101 | 問58 プロセス管理 (SIGHUPを無視+バックグラウンドで永続実行) 1 /6

2.

1 この用語は? nohup(ノーハップ) NO Hang UP / ハングアップシグナル(SIGHUP)を無視してコマンドを実行するコマンド かんたん定義 ■ ログアウト時、カーネルは端末の子プロセスに SIGHUP を送る → 通常プロセスは終了 ■ nohup はこの SIGHUP を無視する設定でコマンドを起動 ■ 通常は & と組み合わせて: nohup cmd & ■ 標準出力がリダイレクトされてなければ、出力は nohup.out に記録される LPIC-101 | 問58 プロセス管理 2 /6

3.

2 簡単に書くよ ※正確な表現ではありません ざっくりイメージ ■ 『ターミナルを閉じてもこの処理だけは動か したい!』時に使う ■ 仕組み: ログアウト時の『切断信号(SIGHUP) 』を無視するので生き残る ■ 使い方: nohup backupjob & (& もセットで バックグラウンド化) ■ 出力はnohup.outファイルに自動記録(リダイ レクトしない場合) ■ × wait → シェルが子プロセスの終了を待つ( 真逆の動作) ■ × bg → 停止中ジョブの再開(新規実行では ない) ■ × job -b → そんなコマンドは無い ■ 最近は screen / tmux / systemd-run が主流 LPIC-101 | 問58 プロセス管理 図解で理解 ログアウト時に何が起こる? × cmd & のみ 端末 → SIGHUP → プロセス ログアウトで子プロセスも終了 ✓ nohup cmd & SIGHUP を無視する設定で起動 ログアウトしても生き残る! 出力は nohup.out に保存 代替: screen / tmux / disown / systemd-run 3 /6

4.

3 詳しく書くよ ※原理原則 原理原則: nohup = SIGHUP を無視する設定で子プロセスを起動 / ログアウト(=端末切断) でも生き残る ■ 〇 正解:nohup backupjob & → SIGHUP無視+バックグラウンドで実行 ■ × backupjob& > /dev/pts/null → & だけではログアウト時にSIGHUPで死ぬ(/dev/pts/null は架空のパ ス) ■ ■ × job -b backupjob → そんなコマンドは存在しない × bg backupjob → 停止中のジョブをバックグラウンドで再開する。ログアウトでは死ぬ ■ ■ × wait backupjob → 現シェルが対象プロセスの終了を待つ。止まる側の動作で真逆 仕組み:通常、端末プロセス死亡時にカーネルが SIGHUP を子プロセスに送る ■ ■ nohup は signal(SIGHUP, SIG_IGN) を設定してから exec する 出力:stdout/stderrがリダイレクトされてなければ ./nohup.out に追記保存 ■ 代替手段: screen / tmux (セッション維持型)、disown(既存ジョブをシェル管理から外す)、systemdrun --user 確認:ps -ef で親PIDが1(init/systemd)になっているとnohup成功の目安 ■ LPIC-101 | 問58 プロセス管理 4 /6

5.

4 実機でやって問題ないか コマンド例 + Ubuntu / RedHat 差分 $ nohup ./backupjob.sh & # ログアウトしても動く [1] 1234 nohup: ignoring input and appending output to 'nohup.out' $ cat nohup.out # 出力はここに保存 $ exit # ログアウトしても backupjob は動き続ける $ ps -ef | grep backupjob # PPID=1 (init/systemd) で生存確認 Ubuntu Ubuntu の nohup は coreutils 同梱(標準)。tmux は `apt install tmux`、screen は `apt install screen` で追加 。 LPIC-101 | 問58 プロセス管理 RedHat/RHEL RHEL/Rocky も coreutils 同梱。tmux は標準リポジトリ 、screen は RHEL 9以降は EPEL から。systemd-run が モダンな代替として推奨。 5 /6

6.

★ 一言でまとめるよ! nohup cmd & = SIGHUP無視+バックグラウンドで永続 実行! うさうさ先生より ユキコさん、wait は『待つ』で逆! nohup は『No Hang Up』=切断信号を無視。ログアウト後も動かす なら定番の nohup + & の組み合わせ♪ LPIC-101 | 問58 プロセス管理 6 /6