Skip to content
← 返回文件与文本处理列表
文件与文本处理任务与配置

命令与脚本:进程、服务与资源 · 查找进程与打开的文件 ​

返回分篇目录

命令与脚本:进程、服务与资源 ​

查找进程与打开的文件 ​

先用 ps、pgrep 定位进程,再用 lsof 查看打开的文件;综合仪表盘集中在后,便于按观察深度选择。

ps · 提供正在运行的进程的信息 ​

更多信息:https://manned.org/ps。

  • 列出所有正在运行的进程:
bash
ps aux
  • 列出所有正在运行的进程,包括完整的命令字符串:
bash
ps auxww
  • 查找与字符串匹配的进程:
bash
ps aux | grep {{字符串}}
  • 以 extra full 格式列出当前用户的所有进程:
bash
ps {{[-u|--user]}} $(id {{[-u|--user]}}) -F
  • 以树形方式列出当前用户的所有进程:
bash
ps {{[-u|--user]}} $(id {{[-u|--user]}}) f
  • 获取一个进程的父进程 ID:
bash
ps {{[-o|--format]}} ppid= {{[-p|--pid]}} {{进程id}}
  • 按内存使用量对进程进行排序:
bash
ps --sort size

pgrep · 按名称查找进程 ​

更多信息:https://keith.github.io/xcode-man-pages/pgrep.1.html。

  • 查找命令行字符串匹配的进程,并输出其 PID:
bash
pgrep {{进程名称}}
  • 以长格式([l]ong output)输出 PID 和进程名称:
bash
pgrep -l {{进程名称}}
  • 按完整([f]ull)参数列表匹配进程,而不只匹配进程名称:
bash
pgrep -f "{{进程名称}} {{参数}}"
  • 以列表([l]ist)形式输出每个匹配进程的 PID 和完整([f]ull)参数列表:
bash
pgrep -fl "{{进程名称}}"
  • 查找由指定用户([u]ser,有效 UID)运行的进程:
bash
pgrep -u {{用户名}} {{进程名称}}
  • 只输出最新([n]ewest,最近启动)的匹配进程:
bash
pgrep -n {{进程名称}}

lsof · 列出打开的文件和相应的进程 ​

注意:列出其他人打开的文件需要 root 权限(或 sudo)。 更多信息:https://manned.org/lsof。

  • 查找打开了给定文件的进程:
bash
lsof {{路径/到/文件}}
  • 查找打开了本地互联网端口的进程:
bash
lsof -i :{{端口}}
  • 仅输出进程 ID (PID):
bash
lsof -t {{路径/到/文件}}
  • 列出给定用户打开的文件:
bash
lsof -u {{用户名}}
  • 列出给定命令或进程打开的文件:
bash
lsof -c {{进程或命令的名称}}
  • 列出特定进程打开的文件(给定其 PID):
bash
lsof -p {{pid}}
  • 列出目录中打开的文件:
bash
lsof +D {{路径/到/目录}}
  • 查找正在监听本地 IPv6 TCP 端口的进程,不转换网络或端口号:
bash
lsof -i6TCP:{{端口}} -sTCP:LISTEN -n -P

htop · 显示正在运行的进程的动态实时信息。top 的增强版 ​

另请参阅:top, atop, glances, btop, btm。 更多信息:https://manned.org/htop。

  • 启动 htop:
bash
htop
  • 启动 htop, 显示指定用户拥有的进程:
bash
htop {{[-u|--user]}} {{用户名}}
  • 以树形视图显示进程的层级关系,展示父子进程之间的关系:
bash
htop {{[-t|--tree]}}
  • 使用指定的 sort_item 对进程排序(使用 htop --sort help 获取可用选项):
bash
htop {{[-s|--sort]}} {{sort_item}}
  • 以指定的更新间隔启动 htop, 以十分之一秒为单位(即 50 = 5 秒):
bash
htop {{[-d|--delay]}} {{50}}
  • 运行 htop 时查看交互式命令:
bash
<?>
  • 切换到不同的标签:
bash
<Tab>
  • 显示帮助:
bash
htop {{[-h|--help]}}

btop · 显示有关 CPU、内存、磁盘、网络和进程的信息的资源监视器 ​

bpytop 的 C++ 版本。 另请参阅:btm, glances, atop, htop, top, sensors。 更多信息:https://github.com/aristocratos/btop#command-line-options。

  • 启动 btop:
bash
btop
  • 使用指定预设启动 btop:
bash
btop {{[-p|--preset]}} {{0..9}}
  • 使用 16 种颜色和 TTY 友好的图形符号在 TTY 模式下启动 btop:
bash
btop {{[-t|--tty]}}
  • 在 256 色模式而不是 24 位颜色模式下启动 btop:
bash
btop {{[-l|--low-color]}}
  • 设置更新速率为 500 毫秒:
bash
btop {{[-u|--update]}} 500
  • 退出 btop:
bash
<q>
  • 显示帮助:
bash
btop {{[-h|--help]}}

btm · 命令行top的替代品 ​

比 top 更轻便,支持跨平台、图表更丰富。 另请参阅:btop, glances, atop, htop, top, sensors。 更多信息:https://clementtsang.github.io/bottom/nightly/#usage-and-configuration。

  • 展示默认布局(cpu, 内存,温度,磁盘,网络和 进程):
bash
btm
  • 开启基础模式,关闭图表和高亮(接近于 top):
bash
btm {{[-b|--basic]}}
  • 将图表中的小点换成大点:
bash
btm {{[-m|--dot_marker]}}
  • 展示电池充电和健康状态:
bash
btm --battery
  • 设置图表刷新间隔和留存数据的时长:
bash
btm {{[-r|--rate]}} 250 {{[-t|--default_time_value]}} 30000

bpytop · 一个资源监视器,显示有关 CPU、内存、磁盘、网络和进程的信息 ​

bashtop 的 Python 版本。 更多信息:https://github.com/aristocratos/bpytop#command-line-options。

  • 运行 bpytop:
bash
bpytop
  • 以最小模式启动,不显示内存和网络框:
bash
bpytop -m
  • 切换最小模式:
bash
<m>
  • 搜索正在运行的程序或进程:
bash
<f>
  • 修改设置:
bash
<M>
  • 显示版本:
bash
bpytop -v

glances · 一个跨平台的系统监控工具 ​

另请参阅:htop, atop, top, btm, btop。 更多信息:https://nicolargo.github.io/glances/。

  • 在终端中运行:
bash
glances
  • 以网页服务器模式运行,在浏览器中查看结果:
bash
glances {{[-w|--webserver]}}
  • 以服务器模式启动,允许其他 glances 客户端连接以查看数据:
bash
glances {{[-s|--server]}}
  • 作为客户端连接到 glances 服务器:
bash
glances {{[-c|--client]}} {{主机名}}
  • 在(网页)服务器模式下启用密码保护:
bash
glances {{[-s|--server]}} --password
  • 退出Glances:
bash
<q>
  • 显示帮助:
bash
glances {{[-h|--help]}}

继续阅读