进程命令:ps
选项
-A:显示所有程序。与-e具有同样的效果
-a: 显示所有终端机下执行的程序,除了阶段作业领导者之外。(跟终端无关的程序)a: 显示现行终端机下的所有程序,包括其他用户的程序。
-u: -u<用户识别码>:此选项的效果和指定"-U"选项相同。
u:以用户为主的格式来显示程序状况。
x:显示所有程序,不以终端机来区分,通常与a这个参数一起使用。
-l或l(小写L):采用详细的格式来显示程序状况。
-j或j:采用工作控制的格式显示程序状况。(jobs format)
-f:显示UID,PPIP,C与STIME栏位。
常用组合
ps aux <-------> 观察系统所有程序数据
ps -lA <-------> 也能够观察所有系统的数据
ps axjf <-------> 连同部分程序树状态
ps -ef
工作任务管理
将指令丢到背景中执行
tar -zcpf /tmp/etc.tar.gz /etc/ &
将目前的工作丢到背景中暂停
tar -zcpf /tmp/etc.tar.gz /etc/
ctrl+z
查看后台的工作状态
jobs
-l:显示进程号;
-p:仅任务对应的显示进程号;
-n:显示任务状态的变化;
-r:仅输出运行状态(running)的任务;
-s:仅输出停止状态(stoped)的任务。
将后台任务拿到前台处理
fg 或者 jobs -l 先查看进程号 任何fg 后面加号
将前台任务拿到后台处理
bg
管理后台的工具:kill
选项
-a:当处理当前进程时,不限制命令名和进程号的对应关系;
-l <信息编号>:若不加<信息编号>选项,则-l参数会列出全部的信息名称;
-p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
-s <信息名称或编号>:指定要送出的信息;
-u:指定用户。
-2:代表由键盘输入 [ctrl]+z 同样的动作;
-9: 立即强制删除一个工作;
-15:以正常的程序方式种植意向工作。与-9是不一样的。
离线管理:nohup
nohup [选项与参数] --->在终端前台工作
nohup [选项与参数] & --->在终端后台工作
动态实时观察:top
选项
-b:以批处理模式操作; -c:显示完整的治命令; -d:屏幕刷新间隔时间;
-I:忽略失效过程; -s:保密模式; -S:累积模式;
-i<时间>:设置间隔时间; -u<用户名>:指定用户名; -p<进程号>:指定进程;
-n<次数>:循环显示的次数。
交互命令
h:显示帮助画面,给出一些简短的命令总结说明; k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令; q:退出程序;
r:重新安排一个进程的优先级别; S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目; o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息; m:切换显示内存信息;
t:切换显示进程和CPU状态信息; c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序; P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序; w:将当前设置写入~/.toprc文件中。
查看详情
第一行( top... ):这一行显示的信息分别为:
目前的时间,亦即是 21:52:17 那个项目;
开机到目前为止所经过的时间,亦即是 up 9:43, 那个项目;
已经登陆系统的使用者人数,亦即是 2 users, 项目;
系统在 1, 5, 15 分钟的平均工作负载。代表的是1, 5, 15 分钟,系统平均要负责运行几个程序(工作)的意思。 越小代表系统越闲置,若高于 1 得要注意你的系统程序是否太过繁复了!
第二行( Tasks... ):显示的是目前程序的总量与个别程序在什么状态( running, sleeping, stopped, zombie )。 比较需要注意的是最后的 zombie 那个数值,如果不是 0 !好好看看到底是那个 process 变成僵尸了吧?
第三行( %Cpus... ):显示的是 CPU 的整体负载,每个项目可使用 ? 需要特别注意的是 wa 项目,那个项目代表的是I/O wait , 通常你的系统会变慢都是 I/O 产生的问题比较大!因此这里得要注意这个项目耗用 CPU 的资源喔! 另外,如果是多核心的设备,可以按下数字键 “1” 来切换成不同 CPU 的负载率。
6.7% us — 用户空间占用CPU的百分比。
0.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
92.9% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0% si — 软中断(Software Interrupts)占用CPU的百分比
0.0% st ---虚拟cpu等待实际cpu的时间百分比
第四行:内存状态
1863252 total — 物理内存总量(1.8GB)
130344 used — 使用中的内存总量(127M)
1236164 free — 空闲内存总量(1.2G)
496744 buff/cache— 缓冲/缓存的内存量 (485M)
第五行:swap交换分区
2097148 total — 交换区总量(2GB)
0 used — 使用的交换区总量(0M)
2097148 free — 空闲交换区总量(2GB)
1496028 avail Mem— 可用内存总量(1.4GB)
第六行:这个是当在 top 程序当中输入指令时,显示状态的地方
PID :每个 process 的 ID 啦!
USER :该 process 所属的使用者;
PR : Priority 的简写,程序的优先执行顺序,越小越早被执行;
NI : Nice 的简写,与 Priority 有关,也是越小越早被执行;
VIRT:进程使用的虚拟内存总量。VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小。RES=CODE+DATA
CODE 可执行代码占用的物理内存大小,单位kb
DATA 可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
S:进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
%CPU : CPU 的使用率;
%MEM :内存的使用率;
TIME+ : CPU 使用时间的累加;