linux系统的进程管理
进程
进程的概念
程序是为了完成某种任务而设计的软件,比如Apache相关的二进制文件是程序,而进程是运行中的程序。一个运行的程序,可以有多个进程。
进程的状态
R(Running):该程序正在运行中
S(Sleep):该程序目前正在休眠的状态,但是可以被唤醒
D不可以被唤醒的睡眠状态,通常进程可能在等待I/O的情况
T:停止状态,可能是在工作控制或出错的状态
Z:僵尸的状态,程序已经终止但是却无法移除到内存外
例:使用ctrl+z,使gedit进入到不可以被唤醒的状态,无法对其进行编辑。使用bg命令可以解除这种状态。
2查看进程
1图形方式查看
gnome-system-monitor
2进程查看命令
ps -A ##所有进程
-a ##在环境中所有进程,不包含环境信息
-u ##显示进程用户信息
a ##显示当前环境进程中运行的进程,包含环境信息
x ##列出系统中所有运行包含tty输出设备
f ##显示进程的父子关系
e##显示进程的详细信息(系统资源的调用)
例:
ps常用组合
ps aux ##显示系统中所有进程用户
ps ef ##显示进程详细并显示进程父子关系
ps ax ##显示当前系统的进程树
pstree ##显示当前系统的进程树
进程排序
ps ax --sort=
+%cpu|-%cpu
+%mem|-%mem(加号表示从少到多,减号表示从多到少)
显示进程指定信息
ps -o xxx ##显示进程的指定信息
comm ##进程名称
user ##进程所有人
group ##进程所有组
%cpu ##进程cpu使用率
%mem ##进程内存使用率
pid ##进程id
nice ##进程优先级
例:
stat中显示的信息
S ##进程状态
l ##内存有指定锁定空间
N##优先级低
< ##优先级高
+## 前台运行
s ##顶级进程
环境中进程的前后台调
jobs ##查看被打入环境后台的进程
ctrl+z ##把占用终端的进程打入到后台
fg jobsnum ##把后台进程调回前台
bg jobsnum ##把后台暂停的进程运行
comm & ##让命令直接在后台运行
进程信号
1.常用信号等级
1 ##进程重新加载配置
2 ##删除进程在内存中的数据
3 ##删除鼠标在内存中的数据
9 ##强制结束单个进程(不能被阻塞)
15 ##正常关闭进程(可能会被阻塞)
18 ##运行暂停的进程
19 ##暂停某一个进程(不能被阻塞)
20 ##把进程打入到后台(可以被阻塞)
man 7 signal ##查看信号的详细信息
kill -信号 进程pid
killall -信号 进程名字
pkill -u user1 -信号
进程的动态监护
1.top
s ##调整刷新的频率
c##cpu负载的排序
h##查看帮助
u##查看指定用户的进程
k##对指定进程发起信号
q ##退出
例:top命令底下的k命令,输入对应的id,按15或者9进行结束此进程