目录





进程管理

进程的定义​:程序在运行时进入内存,就叫进程。进程是动态的,是cpu的资源和内存。

前台进程​:独占Bash

将前台进程调到后台运行: 指令 & 、ctrl+z

后台进程​:可以释放Bash

查看后台进程任务号: jobs

在后台继续运行:bg % 任务号、

将后台进程调到前台运行: fg % 任务号

以不依赖bash的方式运行进程​:关闭终端,其进程依然运行

nohup firefox & >/dev/null

不依赖Bash打开火狐浏览器

进程管理的指令

查看进程ps指令

ps 不加选项的话,只能查看当前终端的进程 ,可以有下列选项:

ps -aux  #列出所有进程的详细信息
ps -eux #显示的内容更多
ps -ef
ps -o
ps -efx -o %cpu,pod #查看某些特定信息
ps aux | sort -k 3 #将第3列参数正向排序,-r反向排序

进程信息列表中各个项目代表的意义 ​:

USER ⇒ 进程的拥有者

PID ⇒ 进程的 ID 号

%cpu ⇒ 进程占用的 cpu 的百分比

%MEM ⇒ 进程占用内存的百分比

PPID ⇒ 父进程

NI ⇒ 进程的 nice 值,数值越大,表示占用 cpu 时间少

VSZ ⇒ 进程的虚拟内存的使用量(kb)

RSS ⇒ 进程真实内存使用量(kb)

TTY ⇒ 进程在哪个终端运行,如果是?,表示没有在任何终端运行

START ⇒ 进程运行的开始时间

STAT ⇒ 进程状态

D ⇒ 无法中断的睡眠

R ⇒ 正在运行

S ⇒ 休眠

T ⇒ 停止

W ⇒ 进入了内存交换

X ⇒ 死了的进程

Z ⇒ 僵尸进程

< ⇒ 优先级高的进程

N ⇒ 优先级低的进程

+ ⇒ 进程在后台 x

TIME ⇒ 进程实际运行的时间

COMMAND ⇒ 进程运行了什么命令

pgrep、pidof指令查pid

lsof查看系统中的进程

lsof -i | grep httpd 查看某个进程的情况

nice指令修改进程的nice值

nice -n -20 程序名 #没有运行的程序
renice -n -20 pid #已经运行的进程
nice -n nice 程序名/指令 #nice = [-20,19]

kill指令结束进程

kill pid #整洁的结束进程
kill -9 pid #强行杀掉进程,不推荐

top系统进程管理器(任务管理器)

top指令,动态查看进程。可以有下列的操作

top -d 1  #每隔 1s 刷新 1 次 ,默认每 3s 刷新一次

进程状态

S ⇒ Sleep,可以响应别人的信号被唤醒。

R ⇒ Running

D ⇒ 睡眠,与S不同,不可以响应别人的信号。

K ⇒ 可以被中断的进程

T ⇒ Stop

Z ⇒ 僵尸进程,无法被释放

top快捷键

M ⇒ 进程按使用内存量排序

P ⇒ 进程安CPU使用量排序

r ⇒ renice 修改正在运行的进程的nice值(r -> 回车-> inputPID -> 回车 -> input newNnice值)

k ⇒ 杀掉一个进程(k -> pid -> 信号)

killall 程序名 ⇒ (杀一类进程)

z ⇒ 改变颜色

看其他cpu状态(看其他core)按 0,1,2,3

top界面信息的意义

load average ⇒ 1分钟负载,5分钟负载,16分钟负载,也可以用uptime指令得到负载参数,一般用于脚本

PR ⇒ :优先级

VIRT ⇒ 虚拟内存的使用

RES ⇒ 实际内存的使用