每日分享三个Linux命令,悄悄培养读者的Linux技能。
欢迎关注公众号
ps
作用
显示进程状态
语法
ps [选项]
参数:
- -A:显示所有进程
- -a:显示终端下的所有程序
- -x:与-a一起使用,显示进程完整信息
- -e:列出所有程序,显示每个程序的环境变量
- -f:用ASCII字符显示树状结构,显示程序之间的关系
- -u:列出指定用户的所有进程
- r:显示当前终端的进程
- -au:显示较详细的进程信息
- -aux:显示所有包含其他用户的进程
显示信息说明:
- USER:用户名称
- PID:进程号
- %CPU:该进程所占用CPU的百分比
- %MEM:该进程所占用内存百分比
- VSZ:进程所占用的虚拟内存大小
- RSS:进程所占用的实际内存大小
- TTY:终端的名字
- STAT:进程的状态
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
- START:进程启动时间
- TIME:进程实际占用CPU的时间
- COMMAND:该进程对应的执行程序
案例
- 显示所有进程信息
ps -A
- 显示指定用户进程信息
ps -u root
- 显示所有进程,连同命令行
ps -ef
- 列出目前所有的正在内存当中的程序
ps -aux
- 树形显示所有进程
ps -axf
- 查找特定进程
ps -aux | grep ssh
- 配合less\more命令
ps -aux | less
ps -aux | more
- 结果输出到文件
ps -aux > test.txt
top
作用
实时显示进程动态
语法
top [选项]
参数:
- -c:显示完整的命令
- -d:屏幕刷新间隔时间
- -i:使top不显示任何闲置或者僵死的进程
- -u:指定用户名
- -p:指定进程
- -n:循环显示的次数
显示说明:
总体系统信息:
- uptime:系统的运行时间和平均负载。
- tasks:当前运行的进程和线程数目。
- CPU:总体 CPU 使用率和各个核心的使用情况。
- 内存(Memory):总体内存使用情况、可用内存和缓存。
进程信息:
- PID:进程的标识符。
- USER:运行进程的用户名。
- PR(优先级):进程的优先级。
- NI(Nice值):进程的优先级调整值。
- VIRT(虚拟内存):进程使用的虚拟内存大小。
- RES(常驻内存):进程实际使用的物理内存大小。
- SHR(共享内存):进程共享的内存大小。
- %CPU:进程占用 CPU 的使用率。
- %MEM:进程占用内存的使用率。
- TIME+:进程的累计 CPU 时间。
快捷键说明:
- h:显示快捷键帮助
- k:终止一个进程
- i:开/关忽略闲置和僵死进程
- q:退出程序
- r:重新安排一个进程的优先级别
- S:切换到累计模式
- s:更改刷新间隔时间,单位秒
- f,F:从当前显示中添加或者删除项目
- o,O:改变显示项目的顺序
- l:切换显示平均负载和启动时间信息
- m:切换显示内存信息
- t:切换显示进程和CPU状态信息
- c:切换显示命令名称和完整命令行
- M:根据内存使用大小排序
- P:根据CPU使用率进行排序 (默认排序)
- T:根据时间/累计时间进行排序
- w:将当前设置写入~/.toprc文件中
- 1:展开多核cpu显示
案例
- 实时显示进程动态
top
- 显示完整的进程信息
top -c
- 设置信息刷新时间
top -d 5
- 仅监控指定用户进程
top -u root
- 仅监控指定进程
top -p 7777
- 设置信息更新次数
top -n 3
lsof
作用
查看进程打开的文件
语法
lsof [参数] 文件
参数:
- -a:列出打开文件存在的进程
- -c:列出指定进程打开的文件
- -g:列出GID号进程详情
- -d:列出占用文件号的进程
- +d:列出目录下被打开的文件
- +D:递归列出目录下被打开的文件
- -n:列出使用NFS的文件
- -i:列出符合条件的进程
- -p:列出指定进程号所打开的文件
- -u:列出UID号进程详情
案例
- 查看当前系统中全部文件和进程对应信息
lsof
- 显示指定目录中被调用的文件信息
lsof +d /home
- 递归显示指定目录中全部被调用的文件信息
lsof +D /home
- 查看谁在用某个文件
lsof /home/test/test.txt
- 列出用户/程序进程打开的文件信息
lsof -u root
lsof -c bash
- 通过进程号显示进行的文件
lsof -p 8888
往期回顾
[1] 解锁Linux之谜:自由、安全、强大的操作系统
[2] Linux每日智囊-“man,cd,pwd”
[3] Linux每日智囊-“info,tree,stat”
[4] Linux每日智囊-“whatis,touch,which”
[5] Linux每日智囊-“mkdir,rmdir,rm”
[6] Linux每日智囊-“ls,wc,nl”
[7] Linux每日智囊-“mv,cp,md5sum”
[8] Linux每日智囊-“rename,basename,dirname”
[9] Linux每日智囊-“chown,chgrp,chmod”
[10] Linux每日智囊-“cat,more,less”
[11] Linux每日智囊-“find,chattr,file”
[12] Linux每日智囊-“grep,egrep,重定向符”
[13] Linux每日智囊-“head,tail,tac”
[14] Linux每日智囊-“ping,wget,scp”