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

Ubuntu Linux でのプロセスの管理

Linux はマルチタスク オペレーティング システムであり、多くのプロセスが同時に進行しているため、Linux でプロセスを管理することは、学習して理解するための重要なトピックです。 Linux には、実行中のプロセスの一覧表示、プロセスの強制終了、システムの使用状況の監視など、プロセスを管理するためのツールが多数用意されています。Linux では、すべてのプロセスはプロセス ID (PID) で表されます。ユーザーまたはグループがプロセスを実行する場合、ユーザー ID やグループ ID など、プロセスには他の属性がいくつかあります。プロセスを強制終了したり、プロセスとやり取りしたりする必要がある場合があるため、これらのプロセスを管理してシステムをスムーズに実行する方法を知っておく必要があります。 Linux では、 ps、pstree、pgrep、pkill、lsof、top、nice、renice、kill などのコマンドでプロセスを管理できます。 など

プロセス

プログラムのインスタンスを実行することをプロセスと呼びます。 Linux では、プロセス ID (PID) を使用して、プロセスごとに異なるプロセスを表します。プロセスには 2 つのタイプがあります。

  • バックグラウンド プロセス
  • フォアグラウンド プロセス

バックグラウンド プロセス

バックグラウンド プロセスはターミナルで開始され、単独で実行されます。ターミナルでプロセスを実行すると、その出力がターミナル ウィンドウに表示され、プロセスを操作できますが、プロセスを操作する必要がない場合は、バックグラウンドで実行できます。バックグラウンドでプロセスを実行したい場合は、コマンドの最後に「&」記号を追加するだけで、バックグラウンドで実行が開始されます。時間を節約でき、別のプロセスを開始できます。バックグラウンドで実行中のプロセスを一覧表示するには、コマンド「jobs」を使用します。バックグラウンドで実行中のすべてのプロセスが表示されます。

たとえば、Linux ではアップグレードは長いプロセスです。時間がかかりすぎます。システムのアップグレード中に他のことをしたい場合は、バックグラウンド コマンドを使用してください。

[メール保護]:~$ sudo apt-get upgrade -y &

バックグラウンドで実行が開始されます。その間、他のプログラムとやり取りすることができます。このコマンドを入力すると、バックグラウンドで実行されているプロセスの数とプロセスを確認できます。

[email protected]:~$ jobs
[1]+ sudo apt-get upgrade -y &を実行中

フォアグラウンド プロセス

ターミナルで実行するすべてのプロセスは、デフォルトでフォアグラウンド プロセスとして実行されます。フォアグラウンド コマンドとバックグラウンド コマンドでそれらを管理できます。

「fg」コマンドの後にバックグラウンド プロセス番号を入力すると、ジョブにリストされているバックグラウンド プロセスをフォアグラウンドに移動できます。

[メール保護]:~$ fg %1
sudo apt-get upgrade -y

このプロセスをバックグラウンドで実行したい場合は、このコマンドを入力してください。

[メール保護]:~$ bg %1

ps コマンドによるプロセスの一覧表示と管理

ps コマンドを使用したリスト プロセスは、ターミナルで実行中のプロセスを表示する最も古い方法の 1 つです。 ps コマンドを入力して、実行中のプロセス、それらが使用しているシステム リソースの量、およびそれらを実行しているユーザーを一覧表示します。

[email protected]:~$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
Jim 1562 0.0 0.0 164356 6476 tty2 Ssl+ 13:07 0:00 shell
Jim 1564 5.2 0.9 881840 78704 tty2 Sl+ 3:07 13:13 dauth
Jim 2919 0.0 0.0 11328 4660 ポイント/0 Ss 13:08 0:00 bash
Jim 15604 0.0 0.0 11836 3412 R+ 1 ポイント:19 0:00 ps u
…中略…

上記の表のユーザー列はユーザ​​ー名を示し、PID はプロセス ID を示します。 PID を使用して、プロセスを強制終了したり、プロセスに強制終了シグナルを送信したりできます。 %CPU は CPU のパーセンテージ プロセッサを示し、%MEM はランダム アクセス メモリの使用率を示します。プロセスを強制終了するには、次のように入力します。

[メール保護]:~$ kill [プロセス ID (PID) ]

または

[メール保護]:~$ kill -9 [プロセスID (PID)]

ps aux コマンドを使用して実行中のすべてのプロセスを表示し、パイプを追加して順番に表示します。

[メール保護]:~$ ps aux |以下

列を並べ替えたい場合は、フラグ -e を追加して実行できます すべてのプロセスと -o を一覧表示するには ps コマンドのキーワードで列を示すため。

[メール保護]:~$ps -eo pid,user,uid,%cpu,%mem,vsz,rss,comm
PID USER UID %CPU %MEM VSZ RSS COMMAND
1 root 0 0.1 0.1 167848 11684 システム
3032 ジム 1000 16.5 4.7 21744776 386524 クロム
…中略…

ps コマンドのオプション。

u オプションは、ユーザーによるプロセスの一覧表示に使用されます。

[email protected]:~$ ps u

f オプションは、完全なリストを表示するために使用されます。

[メール保護]:~$ ps f

x オプションは、ターミナルなしでプロセスに関する情報を表示するために使用されます。

[メール保護]:~$ ps x

e オプションは、拡張情報を表示するために使用されます。

[email protected]:~$ ps e

オプションは、ターミナルですべてのプロセスを一覧表示するために使用されます。

[email protected]:~$ ps a

v オプションは、仮想メモリ形式を表示するために使用されます。

[メール保護]:~$ ps v

ps コマンドのフラグ。

-e フラグは、システム上のすべてのプロセスを表示するために使用されます。

[メール保護]:~$ ps -e

-u フラグは、ルートとして実行されているプロセスを確認するために使用されます。

[メール保護]:~$ ps -u

-f フラグは、プロセスの完全なリストに使用されます。

[メール保護]:~$ ps -f

-o フラグは、目的の列にプロセスを一覧表示するために使用されます。

[メール保護]:~$ ps -o
pstree

pstree は、プロセスを一覧表示する別のコマンドです。出力をツリー形式で表示します。

[メール保護]:~$ pstree

pstree コマンドのオプション

-n プロセスを PID でソートするために使用されます。

[メール保護]:~$ pstree -n

-H プロセスを強調するために使用されます。

[メール保護]:~$ pstree -H [PID]
[メール保護]:~$ pstree -H 6457

-a コマンドライン引数を含む出力を表示するために使用されます。

[メール保護]:~$ pstree -a

-g グループ ID ごとにプロセスを表示するために使用されます。

[メール保護]:~$ pstree -g

-s 木の種まきまたは特定のプロセスに使用されます。

[メール保護]:~$ pstree -s [PID]
[メール保護]:~$ pstree -s 6457

[ユーザー名] ユーザーが所有するプロセスを表示するために使用されます。

[メール保護]:~$ pstree [ユーザー名]
[メール保護]:~$ pstree jim
pgrep

pgrep コマンドを使用すると、特定の基準に基づいて実行中のプロセスを見つけることができます。プロセスの完全な名前または省略形を使用して、ユーザー名またはその他の属性を検索できます。 pgrep コマンドは次のパターンに従います。

[メール保護]:~$ Pgrep [オプション] [パターン]
[メール保護]:~$ pgrep -u jim chrome
pgrep コマンドのオプション

-私 大文字と小文字を区別しない検索に使用されます

[メール保護]:~$ Pgrep -i firefox

-d 出力の区切りに使用されます

[メール保護]:~$ Pgrep -u jim -d:

-u ユーザーが所有するプロセスを見つけるために使用されます

[メール保護]:~$ Pgrep -u jim

-a コマンドと一緒にプロセスをリストするために使用されます

[メール保護]:~$ Pgrep -u jim -a

-c 一致するプロセスの数を表示するために使用されます

[メール保護]:~$ Pgrep -c -u jim

-l プロセスとその名前のリストに使用されます

[メール保護]:~$ Pgrep -u jim -l
pkill

pkill コマンドを使用すると、特定の基準に基づいて実行中のプロセスにシグナルを送信できます。プロセスの完全な名前または省略形を使用して、ユーザー名またはその他の属性を検索できます。 pgrep コマンドは次のパターンに従います。

[メール保護]:~$ Pkill [オプション] [パターン]
[メール保護]:~$ Pkill -9 chrome
pkill コマンドのオプション

–シグナル シグナルを送信するために使用されます。 SIGKILL、SIGTERM など

[メール保護]:~$ Pkill –signal SIGTERM vscode

-HUP プロセスのリロードに使用されます

[メール保護]:~$ Pkill -HUP syslogd

-f 完全なコマンドラインに基づいてプロセスを強制終了するために使用されます。

[メール保護]:~$ Pkill -f "ping 7.7.7.7"

-u ユーザーが所有するすべてのプロセスを強制終了するために使用されます。

[メール保護]:~$ Pkill -u jim

-私 pkill によるプロセスの大文字と小文字を区別しない強制終了に使用されます。

[メール保護]:~$ Pkill -i firefox

-9 kill シグナルの送信に使用されます。

[email protected]:~$ Pkill -9 chrome

-15 終了シグナルの送信に使用されます。

[email protected]:~$ Pkill -15 vlc
lsof (開いているファイルのリスト)

このコマンドライン ユーティリティは、複数のプロセスによって開かれたファイルを一覧表示するために使用されます。また、ご存知のように、すべての UNIX/Linux システムはすべてをファイルとして認識するため、lsof コマンドを使用して開いているすべてのファイルを一覧表示すると便利です。

[メール保護]:~$ lsof

上記の lsof コマンドの表で、FD はファイルの説明、cwd は現在の作業ディレクトリ、txt はテキスト ファイル、mem はメモリ マップド ファイル、mmap はメモリ マップド デバイス、REG は通常のファイル、DIR はディレクトリ、rtd を表します。ルートディレクトリを意味します。 lsof コマンドで使用できるオプションは他にもあります。

lsof コマンドのオプション。

-c 開いているファイルをプロセス名別にリストするために使用されます。

[メール保護]:~$ lsof -c chrome

-u ユーザーが開いているファイルの一覧表示に使用されます。

[メール保護]:~$ lsof -u jim

-私 ポートで実行されているプロセスのリストに使用されます。

[メール保護]:~$ lsof -i

+D ディレクトリの下で開いているファイルのリストに使用されます。

[メール保護]:~$ lsof +D /home/

-p プロセスによって開かれているファイルの一覧表示に使用されます。

[メール保護]:~$ lsof -p 1342

top コマンドによるプロセスの一覧表示と管理

top コマンドを使用すると、実行中のシステム プロセスのリアルタイム ビューを表示できます。 CPU使用率に応じてプロセスを表示します。必要に応じて列を並べ替えることができます。 top コマンドは、システムが稼働している時間、システムに接続しているユーザーの数、実行中のプロセスの数、CPU と RAM の使用量、それぞれのリストなど、システムに関する情報も提供します。

コマンド top を入力して、実行中のプロセスを一覧表示します。

[email protected]:~$トップ

タスク:合計 291、実行中 1、睡眠 290、停止 0、ゾンビ 0

%CPU:2.3us、0.3sy、0.0ni、97.0id、0.3wa、0.0hi、0.0si、0.0st

MiB メモリ:合計 7880.6、空き 1259.9、使用済み 3176、バフ/キャッシュ 3444.4

MiB スワップ:合計 2048.0、空き 2048.0、使用済み 0.0。 4091.8 アベイル メモリ

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ コマンド

3241 ジム 20 0 20.7g 33512 10082 S 1.7 4.2 0:54.24 クロム

3327 ジム 20 0 4698084 249156 86456 S 1.3 3.1 1:42.64 クロム

2920 ジム 20 0 955400 410868 14372 S 1.0 5.1 7:51.04 クロム

3423 ジム 20 0 4721584 198500 10106 S 1.0 2.5 0:49.00 クロム

3030 ジム 20 0 458740 114044 66248 S 0.7 1.4 3:00.47 クロム

3937 ジム 20 0 4610540 104908 72292 S 0.7 1.3 0:05.91 クロム

1603 ジム 20 0 825608 67532 40416 S 0.3 0.8 3:13.52 Xorg

1756 ジム 20 0 4154828 257056 10060 S 0.3 3.2 5:53.31 gnome-s+

1898 jim 20 0 289096 29284 5668 S 0.3 0.4 1:06.28 ふすま

3027 ジム 20 0 587580 14304 75960 S 0.3 1.8 9:43.59 クロム

3388 ジム 20 0 4674192 156208 85032 S 0.3 1.9 0:13.91 クロム

3409 ジム 20 0 4642180 140020 87304 S 0.3 1.7 0:15.36 クロム

3441 ジム 20 0 16.5g 156396 89700 S 0.3 1.9 0:25.70 クロム

….中略….

top コマンドでいくつかのアクションを実行して、実行中のプロセスを変更することもできます。以下にリストを示します。

  • あなた 「u」を押すと、特定のユーザーが実行しているプロセスを表示できます。
  • M 「M」を押すと、CPU 使用率ではなく RAM 使用率で並べ替えることができます。
  • P 「P」を押すと、CPU 使用率で並べ替えることができます。
  • 1 複数の CPU がある場合は、「1」を押して CPU の使用を切り替えます。
  • R 「R」を押すと、出力の並べ替えを逆にすることができます。
  • 「h」を押すと、ヘルプに移動し、任意のキーを押して戻ることができます。

どのプロセスがより多くのメモリまたは CPU を消費しているかに注意してください。より多くのメモリを消費しているプロセスは強制終了することができ、より多くの CPU を消費しているプロセスは、プロセッサにとってあまり重要でないように調整することができます。

上部のプロセスを強制終了: k を押します 殺したいプロセスIDを書きます。次に、15 または 9 を入力して、通常どおりまたはすぐに強制終了します。 kill または killall コマンドでプロセスを強制終了することもできます。

最上位のプロセス: r を押します 変更したいプロセスのPIDを書きます。プロセスの PID と、このプロセスに与えるナイシングの値を -19 から 20 の間で入力するよう求められます (-19 は重要度が最も高く、20 は重要度が最も低いことを意味します)。

System Monitor によるプロセスの一覧表示と管理

Linux には、実行中のプロセスをより動的に表示するためのシステム モニター gnome があります。システム モニターを開始するには、windows キーを押してシステム モニターと入力し、そのアイコンをクリックします。列にプロセスが表示されます。それらを右クリックすると、プロセスを強制終了、停止、または破棄できます。

実行中のプロセスは、ユーザー アカウントとともにアルファベット順に表示されます。 CPU、メモリなどのフィールド見出しでプロセスを並べ替えることができます。それらをクリックするだけで並べ替えられます。たとえば、CPU をクリックして、CPU パワーを最も消費しているプロセスを確認します。プロセスを管理するには、それらを右クリックして、プロセスで実行するオプションを選択します。プロセスを管理するには、次のオプションを選択してください。

  • プロパティ- プロセスに関連するその他の設定を表示します。
  • メモリー マップ- システム メモリ マップを表示して、プロセスのメモリ内で使用されているライブラリやその他のコンポーネントを表示します。
  • ファイルを開く- プロセスによって開かれたファイルを示します。
  • 優先度の変更- 非常に高いものから非常に低いもの、カスタムまでのオプションを使用してプロセスを調整できるサイドバーを表示します。
  • ストップ- 続行することを選択するまでプロセスを一時停止します。
  • 続行- 一時停止したプロセスを再開します。
  • キル- プロセスを即座に強制終了します。

kill と killall によるプロセスの強制終了

kill および killall コマンドは、実行中のプロセスを強制終了/終了するために使用されます。これらのコマンドは、実行中のプロセスに有効なシグナルを送信するためにも使用できます。たとえば、プロセスに続行、終了、構成ファイルの再読み込みなどを指示する場合などです。シグナルは、番号または名前の両方の方法で書き込むことができます。以下は、一般的に使用されるシグナルの一部です。

信号番号の説明

SIGHUP 1 制御端末でハングアップ信号を検出します。

SIGINT 2 キーボードから解釈されます。

SIGQUIT 3 キーボードから終了します。

SIGILL 4 不正な命令。

SIGTRAP 5 トラップのトレースに使用されます。

SIGABRT 6 は、abort(3) からのシグナルを中止するために使用されます。

SIGKILL 9 kill シグナルの送信に使用されます。

SIGTERM 15 終了シグナルの送信に使用されます。

SIGCONT 19,18,25 停止した場合にプロセスを続行するために使用されます。

SIGSTOP 17,19,23 プロセスの停止に使用されます。

SIGCONT と SIGSTOP の異なる値は、異なる Unix/Linux オペレーティング システムで使用されます。シグナル タイプ man 7 シグナル ターミナルの詳細については、

PID によってプロセスにシグナルを送信するために kill コマンドを使用します。

kill シグナルを送信するプロセスに注意してください。 ps または top コマンドでプロセス ID (PID) を見つけることができます。

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ コマンド

7780 ジム 20 0 12596 4364 3460 R 33.3 3.2 13:54:12 トップ

一番上のプロセスは、CPU の 33.3% を消費しています。 CPU 使用率を節約するためにこのプロセスを強制終了したい場合は、kill コマンドでこのプロセスを終了する方法がいくつかあります。

[email protected]:~$ kill 7780

[メール保護]:~$ kill -15 7780 または $ kill -SIGTERM 7780

[メール保護]:~$ kill -9 7780 または $ kill -SIGKILL 7780

killall コマンドを使用してプロセスに名前でシグナルを送信する.

killall コマンドを使用すると、プロセス ID を検索する必要がなくなります。プロセス ID ではなく名前でプロセスに kill シグナルを送信できます。注意しないと、必要以上のプロセスを強制終了することもあります。たとえば、「killall chrome」は、強制終了したくないものも含め、すべての chrome プロセスを強制終了します。同じ名前のプロセスを強制終了すると便利な場合があります。

kill コマンドと同様に、killall コマンドでは信号を名前または番号で入力できます。 killall コマンドを使用して、実行中のプロセスを強制終了します。その名前と送信したい信号を入力するだけです。たとえば、killall コマンドを使用して kill シグナル プロセス Firefox を送信し、以下のコマンドを記述します。

[メール保護]:~$ killall -9 firefox

または

[メール保護]:~$ killall SIGKILL chrome

nice と renice を使用してプロセスの優先度を変更する

Linux システムのすべてのプロセスには優れた値があり、-19 から 20 の間です。システムでより多くの CPU アクセスを取得するプロセスを決定しました。 nice の値が低いほど、プロセスは CPU プロセスに多くのアクセスを持ちます。同様に、-16 のナイス値は、18 のナイス値よりも CPU へのアクセスが多くなります。 root 権限を持つユーザーのみが、nice に負の値を割り当てることができます。通常のユーザーは、0 から 19 までの「nice」の値のみを割り当てることができます。通常のユーザーは、独自のプロセスでより高い nice 値のみを割り当てることができます。 root ユーザーは、任意のプロセスに任意の nice 値を設定できます。

nice 値を割り当てて、プロセスが CPU 使用率にアクセスしやすくする場合は、次のコマンドを入力します。

[email protected]:~$ ナイス +3 クローム

そしてプロセスを再確認

[メール保護]:~$ renice -n -6 3612

結論

これは、ps、top、lsof、pstree、pkilll、kill、killall、nice、renice などを使用して Linux システムを管理するためのガイドです。一部のプロセスは、CPU 使用率と RAM のほとんどを消費します。それらを管理する方法を知ることで、システムの速度とパフォーマンスが向上し、必要なプロセスをより効率的に実行するためのより良い環境が得られます.


Ubuntu
  1. Ubuntu14.10にDropboxをインストールします

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

  3. Linux – Initプロセス:すべてのプロセスの祖先?

  1. killとkillallを使用したLinuxでのプロセスの管理

  2. Linuxでプロセスを強制終了する方法は?終了するコマンド

  3. MX Linux 対 Ubuntu

  1. Linuxで実行中のプロセスを一覧表示する方法

  2. UbuntuLinuxダウンロード

  3. UbuntuLinuxにGitlabをインストールする