Linux每日智囊

Linux每日智囊_第1张图片

每日分享三个Linux命令,悄悄培养读者的Linux技能。

欢迎关注公众号

Linux每日智囊_第2张图片

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:该进程对应的执行程序

案例

  1. 显示所有进程信息
ps -A
  1. 显示指定用户进程信息
ps -u root
  1. 显示所有进程,连同命令行
ps -ef
  1. 列出目前所有的正在内存当中的程序
ps -aux
  1. 树形显示所有进程
ps -axf
  1. 查找特定进程
ps -aux | grep ssh
  1. 配合less\more命令
ps -aux | less
ps -aux | more
  1. 结果输出到文件
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显示

案例

  1. 实时显示进程动态
top
  1. 显示完整的进程信息
top -c
  1. 设置信息刷新时间
top -d 5
  1. 仅监控指定用户进程
top -u root
  1. 仅监控指定进程
top -p 7777
  1. 设置信息更新次数
top -n 3

lsof

作用

查看进程打开的文件

语法

lsof [参数] 文件

参数:

  • -a:列出打开文件存在的进程
  • -c:列出指定进程打开的文件
  • -g:列出GID号进程详情
  • -d:列出占用文件号的进程
  • +d:列出目录下被打开的文件
  • +D:递归列出目录下被打开的文件
  • -n:列出使用NFS的文件
  • -i:列出符合条件的进程
  • -p:列出指定进程号所打开的文件
  • -u:列出UID号进程详情

案例

  1. 查看当前系统中全部文件和进程对应信息
lsof
  1. 显示指定目录中被调用的文件信息
lsof +d /home
  1. 递归显示指定目录中全部被调用的文件信息
lsof +D /home
  1. 查看谁在用某个文件
lsof /home/test/test.txt
  1. 列出用户/程序进程打开的文件信息
lsof -u root
lsof -c bash
  1. 通过进程号显示进行的文件
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”

你可能感兴趣的:(Linux学习,linux,服务器,网络)