これは、Linuxプロセスの説明に関する記事に続く一連の演習です。
記事を注意深く読み、内部に詳述されている原則を理解すれば、ほとんどの質問に答えることができるはずです。
エラーや不正確さを見つけた場合は、コメントを残してください。
頑張ってください!
プロセスの基本
- 質問1 :Linuxホストでは、一度に多くのプロセスが実行されます。ただし、1つの情報でプロセスを一意に識別できます。
どのように呼ばれますか?
MeOn Linuxを展開すると、プロセスはPID(またはプロセスID)によって一意に識別でき、一度に2つの異なるプロセスに割り当てることはできません。- 質問2 :システムが起動すると、インスタンスの最初のプロセスが開始されます。
どのように呼ばれますか?
Expand MeItはinitプロセスと呼ばれ、ネットワーク、ジョブ、またはモジュールの初期化スクリプトを実行するために使用されます。最近のディストリビューションでは、systemdプロセスに置き換えられました。- 質問3 :現在、ホストでシェルターミナルを開いており、次のコマンドを実行します。
内部的に、そのようなコマンドを実行するために呼び出されるシステムコールは何ですか?
MeFirstを展開すると、カーネルは現在のプロセス(つまり、bashインタープリター)を新しいプロセスにフォークします。次に、bashプロセスのイメージが、ロードされたlsプログラムのイメージに置き換えられます。最後に、コマンドが実行されます。- 質問4 :「ターミナル」をクリックして、ホストでシェルターミナルを開きます。
簡単に言うと、端末の仕組みを説明してください 。
Expand Meターミナルは、ユーザー入力を永続的に待機するシンプルなインタラクティブプロセスです。コマンドが発行されると、新しいプロセスにフォークしてそのプロセスでコマンドを実行することにより、コマンドが実行されます。その間、親プロセス(つまり端末自体)は子プロセスの終了を待ちます。終了すると、親プロセスが再開されます。コマンドを処理します
- 質問5 :システム管理者から、ホスト上で所有しているすべてのプロセスを特定するように求められます。
それを行うためにどのコマンドを実行しますか?
私を展開するこれを行う最も簡単な方法は、psコマンドを実行することです。デフォルトでは、ttyデバイスは報告されませんが、「psu」を実行してすべてのプロセスを表示するように選択できます。- 質問6 :システム管理者から、システム上のすべてのプロセスを特定するように求められます。
ホスト上のすべてのプロセスを表示する2つのコマンドを提供できますか?
[Me]を展開するLinux上のすべてのプロセスを表示するには、「ps aux」(BSD構文)または「ps-ef」(POSIX構文)のいずれかを使用できます- 質問7 :Linuxでプロセスをツリーとして表示するコマンドはどれですか?
バックグラウンドおよびフォアグラウンドプロセス
- 質問8 :バックグラウンドでプロセスを実行するためにLinuxで使用される構文は何ですか?
- 質問9 :ターミナルシェルで開始されたプロセスを表す用語は何ですか?
- 質問10 :コマンドをバックグラウンドで実行したが、プロセスをフォアグラウンドで実行したい。
どのコマンドを実行しますか?
私を展開するジョブIDは1なので、「fg%1」を実行します- 質問11 :プロセスがフォアグラウンドで実行されるようになりました 。
プロセスを停止する(そしてプロセスを強制終了しない)ために、キーボードでどのコントロールを押しますか?
エキスパンドMeプロセスを停止する、またはSIGSTOPシグナルをプロセスに送信するには、Ctrl+Zを押す必要があります。- 質問12 :プロセスが中断されました。
バックグラウンドで実行を再開するにはどうすればよいですか?
展開Me実行を再開するには、「bg%1」コマンドを実行します。- 質問13 :SIGINTをフォアグラウンドのプロセスに送信するために、キーボードでどのキーを押すことができますか?
信号とプロセス
- 質問14 :プロセスに関して、シグナルをどのように定義しますか?
- 質問15 :プロセスを穏やかにシャットダウンするためにLinuxで使用されるシグナルは何ですか?
- 質問16 :一方、プロセスをすぐに強制終了したい場合、そのためにどのシグナルを使用しますか?この信号の数はいくつですか?
- 質問17 :ターミナルシェルで次のコマンドを実行しました。
このプロセスの実行には長い時間がかかるため、ホストを離れて現在の端末をシャットダウンすることにしました。
どうしたの?
Expand Me端末を閉じると、SIGHUP信号がプロセスに送信されました。その結果、プロセスはすぐに停止されました。- 質問18 :今起こったことを回避するために、どのような解決策を提供できますか?
- 質問19 :頭のてっぺんから、Linuxシステムで使用される他の信号を提供できますか?
高度なプロセスコマンド
- 質問20 :特定のパターンで指定されたすべてのプロセスを一覧表示するためにLinuxで使用されるコマンドは何ですか?
- 質問21 :「fire」で始まるすべてのプロセスを簡単に強制終了(SIGKILL)するために、どのコマンドを使用しますか?
- 質問22 :Linuxでは、カスタムの優先度レベルでプロセスを実行するためにどのコマンドが使用されますか?
- 質問23 :プロセスのレベルは19ですが、可能な限り多くのリソースを使用しますか?
- 質問24 :Linuxでプロセスを作成するときのデフォルトのniceレベルは何ですか?
- 質問25 :非sudoユーザーとして、-5の適切なレベルでプロセスを作成できますか?
- 質問26 :Linuxで実行中のプロセスの優先度を設定するために使用できるコマンドは何ですか?
監視プロセス
- 質問27 :プロセスをリアルタイムで監視するためにLinuxで使用できるコマンドは何ですか?
- 質問28 :リフレッシュレートを変更するためにtopコマンドで使用できるショートカットは何ですか?
- 質問29 :カスタムの反復回数でtopコマンドを実行するために使用できるオプションは何ですか?
- 質問30 :Linuxプロセスを効果的に監視するための他のソリューションを知っていますか?
結論
これらのLinuxプロセスの演習で、プロセスについて、プロセスを処理して効果的に監視する方法についてさらに学ぶことができれば幸いです。
もっとエクササイズをしたいですか?
- システム管理者向けの30のLinux権限演習
Linuxシステム管理に興味がある場合は、Webサイトに専用のセクション全体があります。