Skip to content
← 返回macOS列表
命令与观察

macOS:进程、服务与资源 ​

检查状态与定位问题 ​

iostat(macOS) · 报告设备统计信息 ​

更多信息:https://ss64.com/mac/iostat.html。

  • 显示设备统计快照(每传输千字节数、每秒传输次数、每秒兆字节数)、CPU统计(用户模式、系统模式和空闲模式的时间百分比)以及系统负载平均值(过去1、5和15分钟):
bash
iostat
  • 仅显示设备统计信息:
bash
iostat -d
  • 每2秒显示一次CPU和磁盘的增量统计报告:
bash
iostat 2
  • 无限期每秒显示第一个磁盘的统计信息:
bash
iostat -w 1 disk0
  • 每3秒显示一次第二个磁盘的统计信息,共显示10次:
bash
iostat -w 3 -c 10 disk1
  • 使用旧式iostat显示格式。显示每秒传输的扇区数、每秒传输次数、每次传输的平均毫秒数,以及默认显示格式的CPU统计和负载平均值:
bash
iostat -o
  • 显示设备总统计信息(KB/t:每次传输的千字节数,xfrs:总传输次数,MB:总传输兆字节数):
bash
iostat -I

ps(macOS) · 正在运行的进程的信息 ​

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

  • 列出所有正在运行的进程:
bash
ps aux
  • 列出所有正在运行的进程,包括完整的命令字符串:
bash
ps auxww
  • 查找与字符串匹配的进程:
bash
ps aux | grep {{字符串}}
  • 获取一个进程的父进程 ID:
bash
ps -o ppid= -p {{进程id}}
  • 按内存使用量对进程进行排序:
bash
ps -m
  • 按 CPU 使用量对进程进行排序:
bash
ps -r

top(macOS) · 显示运行进程的动态实时信息 ​

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

  • 执行 top 命令,界面中提供所有选项:
bash
top
  • 按内部内存大小排序进程(默认顺序 - 进程 ID):
bash
top -o mem
  • 首先按 CPU 启动顺序排序进程,然后按运行时间排序:
bash
top -o cpu -O time
  • 只显示给定用户拥有的进程:
bash
top -user {{用户名}}
  • 交互快捷键按本机 man top 核对;原记录未确认问号帮助,因此不作为可用步骤。

专用工具与其他操作 ​

appsleepd(macOS) · 启动应用休眠服务 ​

不应手动调用此命令。 更多信息:https://keith.github.io/xcode-man-pages/appsleepd.8.html。

该项仅用于识别系统守护进程,由系统管理其生命周期;不提供手工启动步骤。

archey(macOS) · 漂亮地显示简单系统信息工具 ​

更多信息:https://github.com/joshfinnie/archey-osx。

  • 显示系统信息(彩色的):
bash
archey
  • 显示系统信息(单色的):
bash
archey --nocolor
  • 显示系统信息,使用 MacPorts(命令行软件安装管理工具 port)来替代 Homebrew(另一种更常用的 mac 命令行软件安装管理工具):
bash
archey --macports
  • 显示系统信息,但不进行 IP 地址获取和验证:
bash
archey --offline

istats(macOS) · 一个显示 CPU 温度、风扇速度和电池状态等统计数据的命令行工具 ​

更多信息:https://github.com/Chris911/iStats。

  • 显示所有的统计数据:
bash
istats
  • 显示所有 CPU 的统计数据:
bash
istats cpu
  • 显示所有风扇的统计数据:
bash
istats fan
  • 扫描和打印温度:
bash
istats scan

launchctl(macOS) · 用于启动守护程序(系统范围的服务)和启动代理程序(每个用户程序)的命令行界面,该界面指向苹果的launchd 管理工具 ​

用于启动守护程序(系统范围的服务)和启动代理程序(每个用户程序)的命令行界面,该界面指向苹果的launchd 管理工具。 launchd加载放置在适当位置的基于 XML 的*.plist文件,并根据其定义的计划运行相应的命令。 更多信息:https://keith.github.io/xcode-man-pages/launchctl.1.html。

  • 每当用户登录时,自动将 plist 文件加载到 launchd:
bash
launchctl load ~/Library/LaunchAgents/{{我的脚本}}.plist
  • 激活需要 root 权限才能运行和 / 或在任何用户登录时都应加载的脚本(注意路径中不能有~):
bash
sudo launchctl load /Library/LaunchAgents/{{root 脚本}}.plist
  • 激活一个系统范围的守护程序,以便在系统启动时加载(即使没有用户登录也会加载):
bash
sudo launchctl load /Library/LaunchDaemons/{{系统脚本}}.plist
  • 显示所有加载的代理 / 守护进程,如果它们指定的进程当前正在运行,则显示 pid,如果停止那么返回了它们上次运行的时间和退出代码:
bash
launchctl list
  • 卸载当前加载的脚本,例如进行更改(注意:重新启动和 / 或登录后,plist 文件将自动加载到launchd):
bash
launchctl unload ~/Library/LaunchAgents/{{我的脚本}}.plist
  • 手动运行一个已知的(已加载的)脚本 / 守护进程,即使它不是正确的时间(注意:此命令使用脚本的标签,而不是文件名):
bash
launchctl start {{我的脚本}}
  • 手动终止与已知脚本 / 守护进程关联的进程(如果该进程正在运行):
bash
launchctl stop {{我的脚本}}

pmset(macOS) · 配置 macOS 电源管理设置,就像在系统首选项 > 节能程序中一样 ​

修改设置的命令必须以 sudo 开头。 更多信息:https://keith.github.io/xcode-man-pages/pmset.1.html。

  • 显示当前电源管理设置:
bash
pmset -g
  • 显示当前电源和电池电量:
bash
pmset -g batt
  • 立即让显示器进入休眠状态:
bash
pmset displaysleepnow
  • 当充电器通电时,将显示器设置为从不休眠:
bash
sudo pmset -c displaysleep 0
  • 使用电池电源 15 分钟后将显示器设置为休眠:
bash
sudo pmset -b displaysleep 15
  • 安排计算机在每个工作日上午 9 点自动唤醒:
bash
sudo pmset repeat wake MTWRF 09:00:00
  • 设置下面一组固定值;它们不是自动恢复原机默认值,变更前应保存 pmset -g:
bash
sudo pmset -a displaysleep 10 disksleep 10 sleep 30 womp 1

reboot(macOS) · 重启系统 ​

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

  • 立刻重启:
bash
sudo reboot
  • 立即重启,而无需正常关机:
bash
sudo reboot -q

shutdown(macOS) · 关闭并重新启动系统 ​

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

  • 立即关机:
bash
shutdown -h now
  • 立即休眠:
bash
shutdown -s now
  • 立即重启:
bash
shutdown -r now
  • 倒计时 5 分钟重启:
bash
shutdown -r "+{{5}}"
  • 在下午 1:00(使用 24 小时时钟)关机:
bash
shutdown -h {{1300}}
  • 在 2042 年 5 月 10 日上午 11:30 重新启动(输入格式:年年月月日日时时分分):
bash
shutdown -r {{4205101130}}

示例整理自 tldr-pages,作者为 tldr-pages team and contributors,遵循 CC BY 4.0。

继续阅读