linux进程管理
1.进程:正在运行的程序/命令,需要占领一定的资源
2.进程管理的作用;
-判断服务器的健康状态
-查看系统中的所有程序
-杀死进程
3.进程的查看-ps及pstree(类似windows的任务管理器)
查看系统当中的所有进程
-ps aux(ps -aux也可,但正确语法是没有-)
-ps -le
参数解析:
USER:该进程是由哪个用户产生的;
Pid:进程的iD号,/sbin/init pid为1,为系统的父进程
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源
VSZ:该进程占用虚拟内存的大小,单位KB
RSS:该进程占用实际物理内存的大小,单位KB;
TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255(2.6以后支持65535)代表虚拟终端。
STAT:S休眠状态,R运行
START:进程启动时间
TIME:当前进程耗费的CPU运算时间
查看进程树
-pstree
pstree -p ,pid号
pstree -u ,进程由哪个用户产生
eg:pstree 可看到当前pstree命令是通过sshd远程登录执行 sshd—sshd—bash—pstree
4.进程的查看-top命令
top 每3秒刷新一次 ,查看系统健康状态
第一行:系统时间,系统运行时间,当前登录用户数,过去5\10\15分钟系统平均负载
第二行:进程相关。其中需注意zombie,僵死进程,可能是进程正在终止时被top抓获,过段时间将消失,若长期存在,则为异常
第三行-第五行:CPU、内存、换页
buffer;加速硬盘写入
cache:加速硬盘读取
参数解析:
-d秒数:指定top命令每隔几秒更新。默认是3秒
-b:使用批处理横式输出。一般和“-n”选项合用
-n次数:指定top命令执行的次数。一般和“b"选项合用
top -b -n 1 > top.log (可查看所有进程的信息)
在top命令的交互模式当中可以执行的命令
?或h:显示交互模式的帮助
P:以CPU使用率排序,默认就是此项
M:以内存的使用率排序
N:以PID排序
q:退出top
5.杀死进程(任务管理器)
kill/killall/pkill
kill -1 PID 平滑重启进程,重新加载程序配置文件,但是不会将该进程的当前登录用户中断(例如apache服务的当前用户)
kill -9 PID 强制终止进程
killall -9 进程名,杀死所有该程序的所有衍生进程
killall -i 进程名,交互询问是否杀死该程序衍生的所有进程
pkill -9 -t tty1 安照终端号杀死通过tty1登录的进程
w命令查看当前用户登录信息,通过WHAT内容区分本机用户
6.修改进程的优先级–nice/renice命令
-CPU同一时刻只能处理一个任务(指单核单线程),修改优先级,优先级较高的CPU优先处理
-ps -le:
PRI 与 NI代表优先级,数字越小优先级越高
PRI值不可修改,只能通过NI进行优先级调整
nice命令: (不能修改已经存在的进程的NI值)
nice -n -5 service httpd start ;NI 改为-5,PRI值相应递减-5(由系统运算)
renice -10 PID 修改已经存在的单一进程的优先级