linux整理-17-Linux进程管理

Linux进程管理

目录 :
1、进程概念
2、进程状态
3、进程管理常用操作
	3.1、PS命令
	3.2、kill/pidof/pkill命令
	3.3、进程切换
	3.4、top命令
	3.5、pstree命令
	3.6、JPS命令

1、进程概念

进程是操作系统中非常重要的一个概念,进程是程序的执行过程,相对于程序,进程是动态的,在linux系统中,它与用户权限相关,程序与进程并没有一一对应,一个程序可能对应多个进程。

子进程与父进程:一个进程产生另外一个进程,产生的进程称为子进程,生成另外一个进程的进程称为父进程

2、进程状态

进程状态总体来看主要包括三种,分别是就绪状态、运行状态、等待状态就绪状态指的是进程除了CPU资源,其他运行资源都已获得,当就就绪状态的进程得到CPU资源时,则进入进程进入运行状态,运行状态的进程在时间片用完后会重新转换成就绪状态,如果在运行时进程遇到IO等阻塞操作,则进程会进入等待状态,等待状态的进程当阻塞操作完成后,进程将进入就绪状态。
linux整理-17-Linux进程管理_第1张图片

3、进程管理常用操作

3.1、PS命令

ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

ps 命令常用选项包括:
1、a显示所有用户的进程
2、u显示用户名和启动时间
3、x显示所有进程,包括没有控制终端的进程
4、e显示所有进程,包括没有控制终端的进程,较x选项,	信息更为简略
5、l显示进程详细信息,按长格式显示

常用组合:
ps -au 显示所有用户进程,并给出用户名和启动时间等详细信息
ps -aux 显示所有用户进程,包括没有控制终端的进程,并给出用户和和启动埋单等详细信息
ps -el 按长格式显示进程详细信息

以上命令执行结果中可能出现的一个字段含义:
USER: 进程所有者
PID: 进程号
PPID: 进程的父进程ID
%CPU:  CPU占用率
C: 进程的CPU占用率
%MEM: 内存占用率
VSZ: 表示如果一个程序完全驻留在内存的话需要占用多少内存空间;
RSS: 指明了当前实际占用了多少内存;
TTY: 终端的次要装置号码 (minor device number of tty)
F:进程的标志
S:进程的状态
STAT: 该进程程的状态,有以下值
	D: 不可中断的静止
	R: 正在执行中
	S: 静止状态
	T: 暂停执行
	Z: 不存在但暂时无法消除
	W: 没有足够的记忆体分页可分配
	<: 高优先序的进程
	N: 低优先序的进程
	L: 有记忆体分页分配并锁在记忆体内
PRI:进程的优先权
NI:进程的Nice值
ADDR:进程的地址空间
SZ:进程占用内存的大小
WCHAN:进程当前是否在运行
TTY:进程所属终端
START: 进程开始时间
TIME: 执行的运行时间
COMMAND:所执行的指令
CMD:进程的命令
3.2、kill/pidof/pkill命令

有时候某个进程可能会长期占用CPU资源或无法正常执行或超出运行时间等,此时可能希望人工干预直接将进程杀死,这时候kill命令可以派上用场

1、kill pid 直接杀死进程,但不能保证一定能杀死
2、kill -9 pid 强制杀死进程
3、pidof命令用于查看某个进程的进程号(例如:pidof mysqld
4、pkill命令可以按照进程名杀死进程。pkill和killall应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill来杀掉

3.3、进程切换

前台进程指的是进程在执行时会将命令行阻塞,直到进程执行完毕;后台进程指的是进程在执行时不会阻塞当前命令行,而是在系统后台执行

1、ctrl + c 终止进程
2、ctrl + z 挂起进程
3、fg命令将进程转换到前台执行
4、bg命令将进程转换到后台执行
5、jobs命令查看任务
3.4、top命令

Top 命令可以定期显示所有正在运行和实际运行并且更新到列表中,它显示出 CPU 的使用、内存的使用、交换内存、缓存大小、缓冲区大小、过程控制、用户和更多命令。它也会显示内存和 CPU 使用率过高的正在运行的进程。
linux整理-17-Linux进程管理_第2张图片
按q键退出查看

3.5、pstree命令

pstree命令进程间的关系以树结构的形式展示,能清楚看各进程之间的父子关系
pstree :以树状形式显示进程
linux整理-17-Linux进程管理_第3张图片
pstree -p : 以树状形式显示进程,并且显示进程号
加粗样式linux整理-17-Linux进程管理_第4张图片

3.6、JPS命令

JPS命令是JDK提供的一个检查系统是否启动了JVM进程的一个进程。不是linux系统自带的。主要任务就是用来检查java进程的。

你可能感兴趣的:(linux学习)