一丶进程管理

Linux 是一种动态系统,能够适应不断变化的计算需求。Linux 计算需求的表现是以进程 的通用抽象为中心的。进程可以是短期的(从命令行执行的一个命令),也可以是长期的(一种网络服务)。因此,对进程及其调度进行一般管理就显得极为重要。

1.ps常用选项

ps支持三种选项
UNIX选项 如-A -e
BSD选项 如a
GNU选项 如--help

1)BSD方式

a 所有用户在所有终端上运行的前台进程
x 当前用户运行的所有进程(包括前台进程和后台daemon)
ax 所有用户运行的所有进程
aux 所有用户运行的所有进程,结果中显示用户名
f 显示父子进程关系
-C 用进程名进行过滤
k 排序或--sort
axo配合

linux进程管理及kill命令详解_第1张图片

o 自定义输出列
%cpu
%mem
pid
uid
gid
cmd
comm
tty 显示终端名,如为?,表示daemon后台进程
ruser 命令的发起人
euser 命令的真正执行人
state 状态
VSZ:虚拟内存集,线性内存 表示操作系统承诺内存集
RSS:常驻内存集 实际分配内存

2)UNIX方式

-e 显示所有进程
-f 显示完整格式
-ef 以完整格式显示所有进程
-eF 以更完整格式显示所有进程
-efH 显示父子进程关系
-eo 自定义显示结果,如下
ps -eo %cpu,%mem,pid,nice,pri,stat,comm
linux进程管理及kill命令详解_第2张图片

3)GNU方式

--help 寻求帮助
--sort 排序

2.nice值

-20~19
数字越小,优先级越高
renice -n # (-20~19) pid
nice -n #(-20~19) -# command
查看方式 ·
ps axo ni[ce]

~]# ps axo nice
NI
0
0
0
-20
...

3.搜索进程pgrep

pgrep
-u UID/USERNAME 基于执行程序的用户名进行搜索
-l 显示的结果中增加进程名
-t 终端名
-P 查看子进程

pidof 进程名 查询对应进程名的PID
如,搜索ping :

~]# pidof ping
54472

4.uptime

uptime命令能够打印系统总共运行了多长时间和系统的平均负载。uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

~]# uptime
11:19:13 up 2 days, 15:12, 4 users, load average: 0.00, 0.01, 0.05

5.top

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析
linux进程管理及kill命令详解_第3张图片

二丶kil命令

lkill命令用来删除执行中的程序或工作。kill可将指定的信息送至程序。预设的信息为SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用SIGKILL(9)信息尝试强制删除程序。程序或工作的编号可利用ps指令或job指令查看。

1.kill用法

按PID:kill [-SIGNAL] pid …
kill –n SIGNAL pid;kill –s SIGNAL pid
按名称:killall [-SIGNAL] comm…
按模式:pkill [options] pattern

2.kill常用选项

-0 无作为,可以用来单纯判断进程是否运行. -1 -HUP:强制进程重读配置文件
-2 -INT: 中止正在运行的进程;相当于Ctrl+c
-3 -QUIT: 相当于ctrl+\
-9 -KILL: 强制杀死正在运行的进程
-15 -TERM: 终止正在运行的进程 (默认)

pkill

-u 用户名 杀死指定用户所运行的所有进程
-U 真正发起运行命令者
-t 与指定终端相关的进程
-l 显示进程名(pgrep可用)
-a 显示完整格式的进程名(pgrep可用)
-P 显示指定进程的子进程
pkill -t pts/1 杀死指定终端上运行的所有进程