6.Linuxでのプロセス管理
1.プロセスとスレッド:
(1)プロセス:プロセスはプログラムの実行プロセスです。動的な概念です。プログラムの実行中にリソースを割り当てて管理するための基本単位です。プロセスは、実行中のプログラムの状態を指します。プロセスはプログラムです。プロセスのコピーには、対応するライフサイクル(準備期間、操作期間、終了期間)があります。
スレッド:プロセスはリソース呼び出しの最小単位であり、スレッドはプロセスの最小単位です。
(2)プロセスのステータス:
R、(TAKS_RUNNING) | 実行可能な状態(実行中、準備完了) |
S、(TASK_INTRRUPTABLE) | 目覚めの睡眠 |
D、(TASK_UNINTRRUPTABLE) | 眠りを覚ますことができない |
T、(TASK_STOP) | 中断状態 |
Z、(EXIT_ZOMBIE) | デッドステート |
2.プロセス表示コマンド:
(1)グラフィカルプロセス表示ツール
「gnome-system-monitor」図のようにタスクマネージャを開きます。
(2)psコマンド:(プロセス表示コマンド)
[1] psコマンドの3回の実行モードunixbsd GNU(unixおよびGNUモードコマンドの前に「-」があり、bsdにはなく、GNUパラメータコマンドは通常長い)
[2] psコマンドの各パラメータの役割:
「a」端末に関連するプロセス(ユーザーがシステムへのログイン後に生成されるプロセス)
「x」端末に関係のないプロセス
「u」ユーザー情報分類の方法の表示
「f」プロセスの階層関係
「o」指定されたパラメーターの表示pid comm nice pri pcpu ppid stat、user、group
#-e 显示所有进程
#-f 显示信息的完整格式
#-H 显示进程的层级结构
#-o 显示指定参数
#--sort= 表示排序
プログラムのcpu占有率、コマンド、gidを表示し、cpu占有率で逆の順序(大きいものから小さいものへ)で並べ替えます。
[3] "ps ax"は、次の情報を表示します
。PID---------------プロセス
IDTTY ---------------プロセスで使用される端末
STAT --------------プロセスステータス
TIME --------------プロセスはcpu時間を占有します
COMMAND ----プロセス名
「Psaux」は次の情報を表示します。
表示 | 意義 |
---|---|
ユーザー | プロセスオーナー |
PID | プロセスID |
%CPU | プロセスで使用されるcpuの量 |
%MEM | プロセスによって使用されるメモリの量 |
VSZ | プロセスで使用される仮想メモリサイズ |
RSS | プロセスの永続メモリ内のデータのサイズ |
TTY | プロセスで使用される端末 |
STAT | プロセスステータス |
開始 | プロセスの実行時間 |
時間 | プロセスが占めるCPU時間 |
(3)pgrepプロセスフィルタリングコマンド:
【1】
コマンド | 効果 |
---|---|
-u uid | 指定されたユーザープロセス(uid)を表示します |
-Uユーザー | 指定したユーザープロセス(名前)を表示します |
-t tty | 指定されたターミナルプロセスを表示します |
-l | プロセス名を表示 |
-a | プロセスのフルネームを表示する |
-P | 子プロセス |
westosの下のすべてのプロセスの完全な名前をフィルタリングします。
[2] pidのコマンドの表示:
「pidofcomm 」。これは、commコマンドのpidを表示することを意味します。
(4)トップダイナミックプロセスビューコマンド
[1]トップコマンドのパラメータ:
「-d」更新頻度の指定
「-b」バッチモードでの表示
「-n」
トッププロセス情報を表示する表示バッチ数を指定し、1秒に1回更新します。 ;上位のプロセス情報を表示し、1ページを表示します;
[2]上部の説明
内部指示 | 効果 |
---|---|
P | cpuソート |
M | メモリソート |
T | Cpuの累積使用はしばしばソートされます |
l | 稼働時間情報のオフ/オン |
t | cpu&taskをオフ/オンにします |
s | リフレッシュレートを指定します |
k | 操作プロセス |
u | 指定されたユーザープロセスを表示する |
演習:メモリ使用量の上位5プロセスのpidを出力します(出力例:001 002 003…)
3.进程优先级
(1)系统中程序的优先级范围: 0–139;
内核自控优先级范围:0-99
用户可控优先级:100-139
即数值越低,进程的优先级越高;
(2)nice值的范围:-20-19(分别对应100–139)pri范围:0-39(越高越优先)
(3)更改进程优先级:
”renice -n -5 43331(pid)“ ,表示更改优先级
“nice -n -5 comm”,表示以指定优先级打开进程
(4)stat 字符表示:
S -----sleeping
< -----优先级高
s -----顶级进程
T-------stop
N-------优先级底
R--------running
“+”-------运行在前台
4.进程前后台调用
“ctrl+z”---------把占用shell的进程打入后台挂起
bg---------------把后台挂起的进程运行起来
fg----------------把后台进程调回前台
& ---------------运行进程在后台
jobs-------------查看当前shell中在后台的所有工作
5.进程信息号
(1)进程信号;
1 ----------重新家在系统配置文件(source)
2 ----------清空内存中的进程数据
3 ----------清空内存中的鼠标(ctrl+)
9 ----------强行结束进程(不能被阻塞)
15----------正常关闭进程(会被阻塞)
18-----------运行被暂停的进程
19----------暂停进程(不会被阻塞)
20-----------暂停进程(会被阻塞的)
(2)进程信号控制工具:
“kill 进程信号 pid”
“killall 进程信号 进程名字”(结束该名字的所有进程)
“pkill 进程信号 进程条件”(例如:pkill 9 -u westos)
6.systemd守护进程
(1)systemctl命令的用法(控制服务)
start ##开启
stop ##关闭
status ##查看状态
reload ##重新加载
restart ##重新启动服务
enable ##设定服务开机启动
enable --now ##设定服务开机启动并当前开启服务
disable ##设定服务开启不其动
list-units ##查看系统所有服务当前状态
list-unit-files ##查看服务开机状态
list-dependencies ##列出服务依赖性
mask ##冻结服务
unmask ##解锁
set-default ##设定系统运行模式
#multi-user.target 无图形网络模式
#graphical.target 有图形的网络模式
查看所有服务的开机自启动状态(static表示不能控制的)
查看系统当前运行模式为:图形网络模式;
(2)システムの6つの動作レベル(モード)(0-6)
0 关机
1 单用户模式(类似window安全模式)
2 无图形的网络模式
3
4
5 有图形的网络模式
6 重启
runlevel:現在の動作モードを表示します
startx:動作モードを変更せずにxモードにジャンプします
init x:動作モードを変更し、x動作モードに切り替えます