Linuxの運用と保守、基本的なプロセス管理、リアルタイム監視と制御

Linuxの運用と保守、基本的なプロセス管理、リアルタイム監視と制御

1. バックグラウンドで実行されるジョブ

1.sleep 999 & (ジョブ実行中)
[root@localhost ~]# スリープ 999 &
[1] 3670
2.ps -ef|grep sleep (プロセスを表示)
[root@localhost ~]# ps -ef|grep sleep
ルート 3670 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3671 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3672 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3673 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3674 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3675 ​​3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3676 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3677 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3678 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3686 950 0 10:54 ? 00:00:00 スリープ 60
3.fg(最後のものを調整)
[root@localhost ~]# fg
睡眠999
4.ジョブ(タスクの表示)
[root@localhost ~]# ジョブ
[1] 睡眠999&
[3] 睡眠999&
[4] 睡眠999&
[6]- 睡眠999&
[7]+睡眠999 
ctr1+z (完了) 完了 5. 説明 fg %N (指定されたタスクを呼び出す)
停止した
bg %3 (実行ステータス)
+ (デフォルトのアクション)
- (2回目の手術)

2. 信号を使用してプロセスを制御する

基本的なプロセス管理信号

信号ID短縮名定義名使用
1 HUPつるすプロセスを再起動せずに構成ファイルを再読み込みし、新しい構成情報を有効にすることを許可する
2内部キーボード割り込みフォアグラウンド プロセスを中断します。 ctrl+cはSIGINTシグナルを使用する
9殺す中断、傍受不可プログラムを直ちに終了します。ブロック、無視、処理できません
15デフォルト値学期終了プログラムを終了します。 SIGKILL とは異なり、傍受、無視、または処理することができます。プログラムの終了を友好的に要求し、プログラムが自らクリーンアップできるようにします。

kill コマンドは、プロセスの ID に基づいてプロセスにシグナルを送信します。名前は kill ですが、このコマンドはプログラムを終了するシグナルだけでなく、あらゆるシグナルを送信するために使用できます。

1. プロセスを表示する [root@localhost ~]# ps -ef|grep sleep
ルート 3670 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3672 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3673 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3675 ​​3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3676 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3901 950 0 10:59 ? 00:00:00 スリープ 60
ルート 3904 3642 0 10:59 pts/1 00:00:00 grep --color=auto スリープ
2. 指定されたタスクを削除する [root@localhost ~]# kill %1
[root@localhost ~]# ps -ef|grep sleep
ルート 3672 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3673 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3675 ​​3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3676 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3901 950 0 10:59 ? 00:00:00 スリープ 60
ルート 3906 3642 0 11:00 pts/1 00:00:00 grep --color=auto スリープ
[1] 睡眠999
3.kill -l (サポートされているすべてのプログラムを一覧表示)
[root@localhost ~]# kill -l
 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
 6) シガバRT 7) シグバス 8) SIGFPE 9) シグキル 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) シグマートマックス-1 64) シグマートマックス
[root@localhost ~]#
4. 3672 を強制終了する (プロセスを削除)
プロセスを表示する [root@localhost ~]# ps -ef|grep sleep
ルート 3672 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3673 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3675 ​​3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3676 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3925 950 0 11:00 ? 00:00:00 スリープ 60
ルート 4039 3642 0 11:00 pts/1 00:00:00 grep --color=auto スリープ
[root@localhost ~]# 3672 を強制終了する
[root@localhost ~]# ps -ef|grep sleep
ルート 3673 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3675 ​​3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3676 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3925 950 0 11:00 ? 00:00:00 スリープ 60
ルート 4054 3642 0 11:01 pts/1 00:00:00 grep --color=auto スリープ
[3] 睡眠99
5.killall sleep(すべてのスリープを削除)
プロセスを表示します: [root@localhost ~]# ps -ef|grep sleep
ルート 3673 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3675 ​​3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 3676 3642 0 10:54 pts/1 00:00:00 スリープ 999
ルート 4164 950 0 11:01 ? 00:00:00 スリープ 60
ルート 4174 3642 0 11:01 pts/1 00:00:00 grep --color=auto スリープ
[root@localhost ~] を正常に削除しました# ps -ef|grep sleep
ルート 4185 3642 0 11:02 pts/1 00:00:00 grep --color=auto スリープ

3. プロセスアクティビティを監視する

IO 負荷

負荷数はグローバル カウンター計算であり、すべての CPU の合計です。

スリープから復帰したタスクは異なる CPU に再スケジュールされる可能性があるため、各 CPU を正確にカウントすることは困難ですが、累積数の正確さは保証できます。

表示される負荷平均はすべての CPU を表します。
負荷値を表示して監視する

[root@localhost ~]# トップ

1. 負荷を確認する [root@localhost ~]# uptime
 11:12:36 45 分稼働、ユーザー 2 人、負荷平均: 0.06、0.01、0.20
 2. 負荷値を表示し、監視を実施する [root@localhost ~]# top
トップ - 11:15:03 47 分経過、ユーザー 2 人、平均負荷: 0.00、0.00、0.16
タスク: 合計 328、実行中 1、スリープ中 327、停止中 0、ゾンビ 0
%CPU: 0.0 us、0.7 sy、0.0 ni、99.0 id、0.0 wa、0.3 hi、0.0 si、0.0 st
MiB メモリ: 合計 804.8、空き 67.5、使用中 474.7、バッファ/キャッシュ 262.5
MiB スワップ: 合計 2048.0、空き 1427.5、使用済み 620.5。使用可能なメモリ 196.8 
    PID ユーザー PR NI 仮想リソース SHR S %CPU %MEM 時間+ コマンド  
   3884 ルート 20 0 0 0 0 I 0.3 0.0 0:00.57 kworker+ 
   4404 ルート 20 0 64856 4880 4008 R 0.3 0.6 0:00.17 トップ      
      1 ルート 20 0 245372 7252 4356 S 0.0 0.9 0:03.43 systemd  
      2 ルート 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 
      3 ルート 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp   
      4 ルート 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par+ 
      6 ルート 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker+ 
      8 ルート 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_perc+ 
      9 ルート 20 0 0 0 0 S 0.0 0.0 0:00.24 ksoftir+ 
     10 ルート 20 0 0 0 0 I 0.0 0.0 0:00.35 rcu_sch+ 
     11 ルート rt 0 0 0 0 S 0.0 0.0 0:00.00 移行+ 
     12 ルート rt 0 0 0 0 S 0.0 0.0 0:00.00 ウォッチド+ 
     13 ルート 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0  
     15 ルート 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmp+ 
     16 ルート 0 -20 0 0 0 I 0.0 0.0 0:00.00 ネット    
     17 ルート 20 0 0 0 0 S 0.0 0.0 0:00.00 kauditd  
     18 ルート 20 0 0 0 0 S 0.0 0.0 0:00.00 クンタ+ 
     説明 mtlを押す
[root@localhost ~]# トップ
非表示にするには1を押してください
CPU情報を表示する

4. リアルタイムプロセス監視

Topはシステム情報のフルスクリーンダイナミック表示を実現するために使用されます

//top コマンドの対話型サブコマンド:
    M //常駐メモリのサイズで並べ替え、デフォルトではCPUの割合で並べ替え P //CPU使用率で並べ替え T //累積時間(CPU使用時間)で並べ替え l //平均負荷と起動時間を表示 t //プロセスとCPUステータスの関連情報を表示 m //メモリ関連の情報を表示 c //完全なコマンドライン情報を表示 q //topコマンドを終了 k //プロセスを終了 1 //すべてのCPU情報を表示 s //更新時間間隔を変更 us //ユーザー空間を示します。
    sy // カーネル空間を示します。
    ni // nice値、CPU使用率の調整を示します。
    id // アイドル率を示します。
    wa //IO が完了するまで待機する時間の割合を示します。
    hi // ハード割り込み、つまりハードウェア割り込みによって占有される時間の割合を示します。
    si // ソフト割り込みによって占有される時間の割合を示します。
    st // は、steal(盗む)の略で、仮想化技術(仮想マシンの実行など)によって盗まれた時間です。
PR //優先度 NI //nice値 VIRT //仮想メモリセット RES //常駐メモリセット SHR //共有メモリサイズ S //プロセスステータス

以上が、Linux運用保守基本プロセス管理のリアルタイム監視と制御の詳細です。Linux運用保守プロセスの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • Linux の操作とメンテナンスの基本的なスワップ パーティションと LVM 管理のチュートリアル
  • Linux の操作とメンテナンスの基本システムディスク管理チュートリアル
  • Linuxの運用と保守の基本プロセス管理と環境構成分析
  • Linux の操作とメンテナンスの基本 httpd 静的 Web ページ チュートリアル

<<:  Layuiはログインインターフェース検証コードを実装します

>>:  ウェブサイト制作におけるオンライン広告の新しいインタラクティブ体験(グラフィックチュートリアル)

推薦する

WeChatアプレットが計算機機能を実装

WeChatミニプログラムはますます人気が高まっています。多くの大学生が独学で学んでいるのも見てきま...

CentOS7.4 に MySQL 5.7.26 をインストールするための詳細なチュートリアル

CentOS にはデフォルトで MariaDB がインストールされていますが、これは MySQL の...

MySQL <> および <=> 演算子の紹介

<> 演算子機能: 等しくないことを示します。注: 「!=」演算子と同じ機能を持ちますが...

ウェブページのテーブルの境界線を設定する方法

<br />前回は、Web テーブルにセルの線を設定する方法を学びました。今日は、Web...

ウェブページ作成時のHTMLタグの使用に注意してください

この記事では、Web ページの作成を学習するときに注意すべき HTML タグに関するいくつかの問題を...

Vue3 トランジションアニメーションの落とし穴記録について

目次背景問題の場所さらなる分析要約する背景私のコース「Vue 3 エンタープライズレベルの音楽アプリ...

Apache、Tomcat、Nginx サーバーの詳細な理解と比較分析

質問1件会社のサーバーはApacheを使用しており、バックエンドはPHP、サーバーはLinux C/...

React.js フレームワーク Redux 基本ケースの詳細な説明

react.js フレームワーク Redux https://github.com/reactjs/...

Alibaba Cloud SSHリモート接続がしばらくすると切断される問題を解決

問題の再現Alibaba Cloud Server は、Finalshell リモート接続を使用して...

ウェブサイトのフロントエンドをエレガントでユーザーにとって魅力的なものにする方法

ウェブフロントエンドのウェブサイトの気質は感情であり、言葉なしでユーザーを魅了できる感情です。では、...

シェアしたい絶妙なApple風無料アイコン素材18セット

Apple マグカップのアイコンと追加機能 HD ストレージボックス – アドオンパックセイバースノ...

Vue プロジェクトに ECharts を導入する

目次1. インストール2. はじめに3. 使用4. 必要に応じてEChartsチャートとコンポーネン...

CSS3 を使用して色付きのプログレスバーアニメーションを実装する例

簡単なチュートリアルこれは CSS3 カラー プログレス バー アニメーション効果です。 CSS3 ...

CSS3アニメーションジャミングソリューションについての簡単な説明

なぜ詰まっているのでしょうか?言及しなければならない前提があります。フロントエンド開発者は皆、ブラウ...

Linux での透過的巨大ページの使用と無効化の概要

導入コンピューティングのニーズが拡大し続けるにつれて、アプリケーションのメモリに対する需要も増加して...