进程概念
- 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位。(进程就是操作系统未完成的事)
进程状态
- 运行(可执行态)
- 休眠
- 停止(TASK_STOPPED or TASK_TRACED)
- 继续
- 结束(TASK_DEAD - EXIT_DEAD)
- 僵尸进程(TASK_DEAD - EXIT_ZOMBIE)
图形中如何查看进程
gnome-system-monitor ##系统监控器,gnome是GNU的一个工具
用命令查看进程
ps ##进程查看工具 ps -a ##shell中运行的进程 ps -x ##不在shell重运行的进程 ps -u ##查看进程用户 ps -l ##显示进程的详细信息 ps -f ##完全信息full的缩写 ps -e ##显示系统中的所有进程 ps -t ##指定终端机的编号,显示该终端机的进程 ps -aux |grep 进程关键字 ##显示带有关键字的所有进程 ps是显示当前状态下处于running的进程,grep表示搜索,ps aux显示所有进程和状态 ps ax -o %cpu,%mem,user,pid,comm ##查看进程占用cpu使用率,占用内存的使用率,进程使用者,进程id,命令的名字和参数
-
USER:进程所有者 PID: 进程ID %CPU:占用CPU使用率 %MEM:占用的内存使用率 TTY:终端机号 STAT:进程状态 START:启动进程的时间 TIME:进程消耗CPU的时间 COMMAND:命令的名称和参数 ps aux --sort +|-%cpu|%mem ##进程按指定方式排序,'|'表示‘或’的意思,+%cpu,-%cpu
控制shell进程的前后台调用
命令& ##进程在shell后台运行 ctrl +z ##把占用shell的进程打入后台停止 ctrl +c ##关闭占用shell进程 jobs ##查看被打入后台的进程信息 fg job ##把指定进程调回前台 bg job ##运行后台停止进程
用命令控制进程
信号
信号 1 ##reload进程 信号 2 ##ctrl +c 删除进程在内存中的信息 信号 3 ##内存中的鼠标信息清除 信号 9 ##强行关闭进程 信号 15 ##正常关闭进程 信号 18 ##开启停止的进程 信号 19 ##停止正在运行的进程 信号 20 ##ctrl +z
信号发起
kill 信号 pid killall 信号 进程名称 ##对进程名称的所有进程进行信号操作 pkill -u username ##结束某个用户的所有进程
用户登陆监控
w ##查看当前使用系统的用户 w -f ##查看当前使用系统的用户并显示使用地点 last ##查看登陆过系统的用户(最近登录的在最上面) lastb ##查看试图登陆但没有成功的用户
top命令
u username
d 指定每两次屏幕信息刷新之间的时间间隔
p 通过指定监控进程ID来仅仅监控某个进程的状态。
q该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。
S 指定累计模式
s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。
i 使top不显示任何闲置或者僵死进程。
c 显示整个命令行而不只是显示命令名
i 忽略闲置和僵死进程。这是一个开关式命令。
q 退出程序。
r 重新安排一个进程的优先级别。系统提示用户输入需要改变的进程PID以及需要设置的进程优先级值。输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。
S 切换到累计模式。
s 改变两次刷新之间的延迟时间。系统将提示用户输入新的时间,单位为s。如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s。需要注意的是如果设置太小的时间,很可能会引起不断刷新,从而根本来不及看清显示的情况,而且系统负载也会大大增加。
f或者F 从当前显示中添加或者删除项目。
o或者O 改变显示项目的顺序。
l 切换显示平均负载和启动时间信息。
m 切换显示内存信息。
t 切换显示进程和CPU状态信息。
c 切换显示命令名称和完整命令行。
M 根据驻留内存大小进行排序。
P 根据CPU使用百分比大小进行排序。
T 根据时间/累计时间进行排序。