モジュールのレッスン (2/2)
ジョブ制御とログ (bg、fg、tail)
ターミナルを使用するときは、シェルをロックアップせずに長時間コマンドを実行したい場合があります。 Linux は ジョブ コントロール をサポートしています。これにより、プロセスをバックグラウンドに送信し、フォアグラウンドに戻すことができます。さらに、ログを監視してシステムで何が起こっているかを確認する方法を学びます。
バックグラウンドでのコマンドの実行: & および jobs
バックグラウンドでコマンドを直接開始するには (端末の制御をすぐに解放します)、コマンドの末尾に & (アンパサンド) 文字を追加します。
sleep 1000 &このコマンドはジョブ番号 ([1] など) と PID を返します。
ジョブのリスト: jobs
jobs コマンドは、現在のシェル セッションに関連付けられ、バックグラウンドで実行中または一時停止されているアクティブなプロセスを一覧表示します。
jobsプロセスの移動: fg、bg、および Ctrl+Z
コマンドがフォアグラウンドで実行されており、ターミナルをブロックしている場合は、次のことができます。
Ctrl + Zを押して、現在のプロセスを一時停止 (一時停止) します。bg(バックグラウンド) コマンドを使用して、中断されたプロセスをバックグラウンドで再起動します。Bashbg %1 # Restarts job 1 in the backgroundfg(フォアグラウンド) コマンドを使用して、バックグラウンド プロセスをフォアグラウンドに戻します。Bashfg %1 # Brings job 1 to the foreground
モニタリングログ: tail および journalctl
システム ログとアプリケーション ログには重要なイベントが記録されます。多くの場合、これらのファイルの書き込みをリアルタイムで観察する必要があります。
ファイルの終わりの表示: tail
tail コマンドは、ファイルの最後の行を表示します (デフォルトは 10 行)。
tail /var/log/syslog
tail -n 20 /var/log/syslog # Shows the last 20 linesファイルをリアルタイムで監視するには (たとえば、アプリケーションのテスト中に生成されたログ メッセージを表示するには)、-f (follow) オプションを使用します。
tail -f logs/server.log自分で試してみてください
演習 1: アクティブなジョブをリストする
「jobs」コマンドを使用して、ターミナル セッションで現在のジョブ (バックグラウンド プロセスまたは一時停止されたプロセス) のリストを表示します。
ヒントを表示
単純に「jobs」コマンドを使用します。
3 回の試行後に解決策が利用可能になります
演習 2: ジョブをフォアグラウンドに移動する
「fg」コマンドを使用して、現在アクティブなバックグラウンド ジョブをフォアグラウンドに移動します。
ヒントを表示
「fg」コマンドを使用して、ジョブをフォアグラウンドに戻します。
3 回の試行後に解決策が利用可能になります
演習 3: ログの最後の行を確認する
「tail」コマンドを使用して、「logs/server.log」にあるログ ファイルの最後の行を表示します。
ヒントを表示
「tail」の後にファイル パス「logs/server.log」を続けて使用します。
3 回の試行後に解決策が利用可能になります