当前位置: 首页 > news >正文

Linux每日智囊

每日分享三个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:该进程对应的执行程序

案例

  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”

相关文章:

  • 第二类曲线积分@对坐标的曲线积分
  • 学习笔记,http协议1.0,1.1,2.0之间的差别
  • macos端文件夹快速访问工具 Default Folder X 最新for mac
  • 【数据结构】B : DS图应用--最短路径
  • Windows任务管理器内存性能界面各个参数含义
  • 【操作系统】线程的状态
  • OpenCV将两张图片拼接成一张图片
  • 有了倾斜摄影,如何搭建一座智慧城市?
  • CMakeLists.txt:打印find_package变量;判断库文件路径设定是否正确;install文件设置
  • Ps:裁剪工具 - 裁剪预设的应用
  • 深入理解C语言指针基础概念:定义、内存地址与声明初始化
  • 2023年【制冷与空调设备安装修理】考试报名及制冷与空调设备安装修理考试资料
  • 2023APMCM亚太杯数学建模选题建议及初步思路
  • Android: ListView + ArrayAdapter 简单应用
  • 任意文件下载漏洞(CVE-2021-44983)
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 230. Kth Smallest Element in a BST
  • Angular 响应式表单 基础例子
  • Python学习之路13-记分
  • React as a UI Runtime(五、列表)
  • spring学习第二天
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 代理模式
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 详解NodeJs流之一
  • 一份游戏开发学习路线
  • 异常机制详解
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 找一份好的前端工作,起点很重要
  • hi-nginx-1.3.4编译安装
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 阿里云重庆大学大数据训练营落地分享
  • #FPGA(基础知识)
  • #ifdef 的技巧用法
  • (06)金属布线——为半导体注入生命的连接
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (多级缓存)多级缓存
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (四)库存超卖案例实战——优化redis分布式锁
  • (五)activiti-modeler 编辑器初步优化
  • (原創) 未来三学期想要修的课 (日記)
  • (转)我也是一只IT小小鸟
  • .bat文件调用java类的main方法
  • .gitignore文件---让git自动忽略指定文件
  • .NET 8.0 中有哪些新的变化?
  • .net 连接达梦数据库开发环境部署
  • .Net6 Api Swagger配置
  • .NET大文件上传知识整理
  • .NET与 java通用的3DES加密解密方法
  • @angular/cli项目构建--Dynamic.Form
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [16/N]论得趣
  • [20170728]oracle保留字.txt
  • [Android Studio 权威教程]断点调试和高级调试