GNU/Linux >> Linux の 問題 >  >> Linux

システム管理者向けの30のLinuxプロセス演習

これは、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でプロセスをツリーとして表示するコマンドはどれですか?
Meを展開するすべてのプロセスをプロセスツリーとして表示するには、「pstree」コマンドを使用する必要があります。

バックグラウンドおよびフォアグラウンドプロセス

  • 質問8 :バックグラウンドでプロセスを実行するためにLinuxで使用される構文は何ですか?
Meを展開するバックグラウンドでプロセスを実行するには、コマンドの最後に「&」記号を追加する必要があります。
  • 質問9 :ターミナルシェルで開始されたプロセスを表す用語は何ですか?
シェルで実行されるExpandMeAプロセスは「ジョブ」と呼ばれ、jobsコマンドは現在のシェルジョブを表示します。
  • 質問10 :コマンドをバックグラウンドで実行したが、プロセスをフォアグラウンドで実行したい。

どのコマンドを実行しますか?

私を展開するジョブIDは1なので、「fg%1」を実行します
  • 質問11 :プロセスがフォアグラウンドで実行されるようになりました 。

プロセスを停止する(そしてプロセスを強制終了しない)ために、キーボードでどのコントロールを押しますか?

エキスパンドMeプロセスを停止する、またはSIGSTOPシグナルをプロセスに送信するには、Ctrl+Zを押す必要があります。
  • 質問12 :プロセスが中断されました。

バックグラウンドで実行を再開するにはどうすればよいですか?

展開Me実行を再開するには、「bg%1」コマンドを実行します。
  • 質問13 :SIGINTをフォアグラウンドのプロセスに送信するために、キーボードでどのキーを押すことができますか?
Meを展開するフォアグラウンドの信号にSIGINTを送信するには、Ctrl+Cを押す必要があります。

信号とプロセス

  • 質問14 :プロセスに関して、シグナルをどのように定義しますか?
MeOn Linuxを拡張すると、シグナルはプロセス間通信(IPCとも呼ばれる)の形式であり、特定のイベントの発生に関する非同期通知を作成して実行中のプロセスに送信します。シグナルは情報提供(SIGUSR1、SIGUSR2など)にすることも、特定の順序をプロセスに伝えるために使用することもできます(中断、停止、強制終了)
  • 質問15 :プロセスを穏やかにシャットダウンするためにLinuxで使用されるシグナルは何ですか?
Meを展開するプロセスを正常にシャットダウンするには、SIGTERMシグナル(シグナル番号15とも呼ばれます)を使用する必要があります
  • 質問16 :一方、プロセスをすぐに強制終了したい場合、そのためにどのシグナルを使用しますか?この信号の数はいくつですか?
Meを展開するプロセスを正常にシャットダウンする機会を与えずにプロセスを強制終了するには、SIGKILLシグナル(シグナル9とも呼ばれます)を発行する必要があります
  • 質問17 :ターミナルシェルで次のコマンドを実行しました。

このプロセスの実行には長い時間がかかるため、ホストを離れて現在の端末をシャットダウンすることにしました。

どうしたの?

Expand Me端末を閉じると、SIGHUP信号がプロセスに送信されました。その結果、プロセスはすぐに停止されました。
  • 質問18 :今起こったことを回避するために、どのような解決策を提供できますか?
[Me]を展開するSIGHUPシグナルでプロセスが強制終了されないようにするには、次のように「nohup」コマンドを使用できます。「nohup ./script&」
  • 質問19 :頭のてっぺんから、Linuxシステムで使用される他の信号を提供できますか?
インタラクティブセッションを終了するときに呼び出されるシグナルをMeSIGQUITで展開します。たとえば、ターミナルシェルやSSHセッションで使用できます。 SIGCONTは、停止したプロセスを再開するために使用されるシグナルです(SIGSTOPの後)。

高度なプロセスコマンド

  • 質問20 :特定のパターンで指定されたすべてのプロセスを一覧表示するためにLinuxで使用されるコマンドは何ですか?
Meを展開特定のパターンが指定されたプロセスを検索するには、次の構文で「pgrep」コマンドを使用できます。「pgrep
  • 質問21 :「fire」で始まるすべてのプロセスを簡単に強制終了(SIGKILL)するために、どのコマンドを使用しますか?
Meを展開する「fire」で始まるすべてのプロセスを強制終了するには、「pkillfire*」を実行します
  • 質問22 :Linuxでは、カスタムの優先度レベルでプロセスを実行するためにどのコマンドが使用されますか?
Expand Me“ Nice”は、多かれ少なかれCPUリソースを使用するために、カスタム優先度でコマンドを実行するために使用されるコマンドです。
  • 質問23 :プロセスのレベルは19ですが、可能な限り多くのリソースを使用しますか?
MeNoを展開します。プロセスが優れているほど、他の人とリソースを共有する意欲が高まります。結果として、プロセスの優先度は非常に低くなります。
  • 質問24 :Linuxでプロセスを作成するときのデフォルトのniceレベルは何ですか?
Meを展開デフォルトでは、プロセスは適切なレベル0で作成されます。
  • 質問25 :非sudoユーザーとして、-5の適切なレベルでプロセスを作成できますか?
MeNoを展開すると、sudo以外のユーザーは、デフォルトで割り当てられているレベルよりも低いレベルのプロセスを作成できません。さらに、カスタムniceレベルでプロセスを作成した場合、ゼロより大きい場合でも、プロセスを下げることはできません。
  • 質問26 :Linuxで実行中のプロセスの優先度を設定するために使用できるコマンドは何ですか?
展開Me実行中のプロセスの優先度をカスタマイズするには、次の構文で「renice」コマンドを使用する必要があります。「renice -n

監視プロセス

  • 質問27 :プロセスをリアルタイムで監視するためにLinuxで使用できるコマンドは何ですか?
Meを展開するプロセスによって使用されるリソースを監視するには、「top」コマンドまたは「htop」コマンドを使用して、より見やすく表示できます。
  • 質問28 :リフレッシュレートを変更するためにtopコマンドで使用できるショートカットは何ですか?
Meを展開するリフレッシュレートを変更するには、たとえば「d」キーを押して1.0に設定します。
  • 質問29 :カスタムの反復回数でtopコマンドを実行するために使用できるオプションは何ですか?
Meを展開する指定された反復回数で「top」を実行するには、「top –nを使用できます。
  • 質問30 :Linuxプロセスを効果的に監視するための他のソリューションを知っていますか?
Meを展開するLinuxシステムを監視するには、システム管理者はコックピット、Grafana、Prometheus、Nagios、またはTelegrafを使用できます。

結論

これらのLinuxプロセスの演習で、プロセスについて、プロセスを処理して効果的に監視する方法についてさらに学ぶことができれば幸いです。

もっとエクササイズをしたいですか?

  • システム管理者向けの30のLinux権限演習

Linuxシステム管理に興味がある場合は、Webサイトに専用のセクション全体があります。


Linux
  1. Linuxコマンドの基本:プロセス管理用の7つのコマンド

  2. 生産性を向上させるためのLinuxコマンドラインのヒント

  3. Linuxpsコマンド

  1. Linuxユーザー向けの12のIPコマンド例

  2. Linuxプロセスを監視するための20psのコマンド例

  3. LinuxのPsコマンド(プロセスのリスト)

  1. LinuxのPstreeコマンド

  2. Linuxでコマンドを強制終了します

  3. LinuxのPgrepコマンド