linux 进程管理
Linux 进程管理
什么是程序:应用程序是用户选择安装的程序的总称,通常包括驱动程序的进程,看图软件、解压缩软件等通用软件的进程.也可以顾名思义地说:应用程序就是为使用者提供与电脑沟通所开发出来的程序软件
什么是进程:
狭义定义:进程就是一段程序的执行过程。 广义定义:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
什么是线程:也叫做轻量级进程,线程是进程中的⼀个执⾏单元,负责当前进程中程序的执⾏,⼀个进程中⾄少有⼀个线程。⼀个进程中是可以有多个线程的,这个应⽤程序也可以称之为多线程程序。
【1】、查看进程树
pstree:以树状结构显示进程信息,包括进程之间的关系
option
-p:显示进程 PID
-a:显示完整的命令行
-u:列出每个进程所属账号名称
可以查看每一个进程是由哪些账号开启的,进程要一直开启才可以看到,进程有生命周期
![](https://static001.geekbang.org/infoq/1b/1bbed06d65775187691397c0c62e02c9.png)
通过 pstree 命令可以去进行进程的查询。
可以通过用户查询
pstree -p 用户名
ps aux :unix 格式静态查看系统进程,查看系统所有进程信息
a:显示当前终端所有进程
u:以用户格式输出
x:当前用户在所有终端下的进程
各个字段的含义
ps ef :unix 格式静态查看系统进程,查看系统所有进程信息
-e:显示当前终端所有进程
-f:显示最完整的进程信息
-l:以长格式输出
查找僵尸进程
【2】、top 命令
第一行:
系统本地时间
系统运行时间
用几个用户在登录
负载情况
![](https://static001.geekbang.org/infoq/80/8027f32628ddf6b9432bdb2d691d4b27.png)
-M:按照内存使用资源排序
-P:按照 CPU 使用资源排序
【3】、进程的前后台调度
前台任务
会持续占据终端界面,直至任务的结束才会释放终端界面,在前台任务占据终端界面时,我们是不能进行任何操作的
后台任务
在后台运行的任务不会占据控制界面,我们可以执行其他的命令
&:将程序 fangruhoutaiyunx
jobs -l:查看后台任务列表
fg 进程编号:将后台任务恢复到前台执行
CTRL+Z:挂起前台任务并且放入后台
bg 进程编号:激活后台被挂起的进程
4】、杀死进程
CTRL+C:结束当前命令程序,只能杀死前台任务,后台任务没法杀
kill
按照 PID 杀死,精确的杀死一个进程
-l:列出可选择的信号
常用信号:
-1:重启
-9:强制杀死,直接杀死,例如杀死僵尸进程
-15:正常杀死,默认是-15,杀死进程时先终止,后杀死
killall
依据进程名杀死进程
killall 进程名
强制杀死某用户所有的进程
pkill
按照终端杀死进程,-t
【5】、nice 值
每一个进程都会拥有一个“优先级(priority)”属性
通过改变 nice 值,修改进程优先级
nice 值的范围是-20~19,nice 值越低优先级越高,nice 默认值是 0、
nice:在创建进程时设置 nice 值
renice:创建好进程后,重新设置 nice 值
文章转载自:Linux小菜鸟
评论