进程管理
一、进程简介
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。
进程管理应用场景
判断服务器健康状态
查看系统中所有进程
杀死进程
进程和程序区别
1)程序是静态概念,本身作为一种软件资源长期保存;而进程是程序的执行过程,它是动态概念,有一定的生命期,是动态产生和消亡的。
2)程序和进程无一一对应关系。一个程序可以由多个进程公用;另一方面,一个进程在活动中有可顺序地执行若干个程序
进程分类
系统进程
用户进程
交互进程
批处理进程
守护进程
进程状态
二、查看进程
[[email protected]~]# ps aux
#查看系统中所有进程,使用BSD操作系统格式
[[email protected]~]# ps -le
#查看系统中所有进程,使用Linux标准命令格式。
•USER:该进程是由哪个用户产生的;
•PID:进程的ID号;
•%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
•%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
•VSZ:该进程占用虚拟内存的大小,单位KB;
•RSS:该进程占用实际物理内存的大小,单位KB;
•TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。
•STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:父进程、+:位于后台、用“Z”表示僵死进程,用“<”表示优先级高的进程,用“N”表示优先级较低的进程
•START:该进程的启动时间
•TIME:该进程占用CPU的运算时间,注意不是系统时间
•COMMAND:产生此进程的命令名
top 工具
top命令是监控系统进程必不可少的工具,与ps命令相比,top命令动态实时的显示进程状态,而ps只能显示进程某一时刻的信息,同时,top命令提供了一个交互界面,用户可以根据需要,人性化的定制自己的输出,更清楚的了解进程的实时状态
第一行信息为任务队列信息:
第二行为进程信息:
第三行为CPU信息:
第四行为物理内存信息:
第五行为交换分区(swap)信息:
pidof查看进程PID
pidof–用于查找一个运行的程序的PID。
pstree查看进程树
[[email protected]~]# pstree[选项]
选项:
-p:显示进程的PID
-u:显示进程的所属用户
三、进程优先级
优先级取值范围为[-20,19]
Linux给我们提供的优先级的范围为-20到19,我们启动一个进程时,默认的优先级为0 ,-20的优先级为最大,或者说最高。当然,我们在设置的时候可以写-30,但系统默认为-20。
nice命令
指定程序的运行优先级
格式:nice -n command
例如:nice –n 5 command
renice命令
改变一个正在运行的进程的优先级
格式:renicen pid
例如:renice-5 777
四、终止进程
[[email protected]~]# kill –l
#查看可用的进程信号
[[email protected] ~]# kill -1 22354
#重启进程
[[email protected] ~]# kill -9 22368
#强制杀死进程
[[email protected]~]# killall[选项][信号] 进程名
#按照进程名杀死进程
选项:
-i:交互式,询问是否要杀死某个进程
-I:忽略进程名的大小写
[[email protected]~]# pkill [选项] [信号] 进程名
#按照进程名终止进程
选项:
-t 终端号:按照终端号踢出用户
pkill 相当于pgrep+ kill
[[email protected]~]# w
#使用w命令查询本机已经登录的用户
[[email protected]~]# pkill -t -9 pts/1
#强制杀死从pts/1虚拟终端登录的进程