可通过活动监视器查看当前进程启动时间、终端命令查询unified logging中24小时内应用注册记录、finder“最近项目”视图追溯双击运行的.app文件三类方法交叉验证mac最近运行的软件。

当你想确认Mac上哪些软件被自己或他人最近启动过,比如排查异常行为、找回遗忘的应用,或检查孩子/同事是否用过某款程序时,系统本身并不直接提供“最近运行软件”的完整时间线列表。但可通过活动监视器的进程存活时间、终端命令追溯启动痕迹、以及Finder中残留的访问记录三类路径交叉验证。
通过活动监视器查看仍在运行的软件及其启动时长
活动监视器能显示当前所有活跃进程,并附带“启动时间”字段——这是判断“最近运行”的最可靠实时依据,因为已退出的软件不会出现在这里,但刚关掉几分钟内的进程可能尚未被系统回收。
打开“聚焦搜索”(Command + 空格),输入“活动监视器”并回车启动。
点击顶部菜单栏“显示”→“所有进程,分层显示”,这一步【必须执行】,否则系统级守护进程(如launchd)和后台代理会被折叠,你将看不到真正的启动源头。
切换到“CPU”标签页,右键点击任意列标题空白处,勾选“启动时间”;再点击该列标题排序,最新启动的进程会排在最上方。注意:这里的“启动时间”是进程创建时间,不是用户点击图标的时间,但误差通常在1秒内。
若看到某个进程的启动时间是3分钟前,而你记得自己刚关掉微信,那大概率就是它——因为macOS下GUI应用关闭后,其主进程常驻后台几秒至几十秒才彻底退出。
用终端命令查找最近被加载的可执行文件
macOS的统一日志系统(Unified Logging)会记录大部分二进制文件的首次加载事件,尤其对从/Applications或~/Applications目录启动的图形应用非常敏感。这条路径能挖出已退出、但24小时内启动过的软件。
方法一:查过去1小时内的应用启动日志
在终端中执行:log show --predicate 'eventMessage contains "com.apple.app" --last 1h | grep -i "path.*app" | head -20
方法二:查最近3次启动的任意GUI应用(更精准)
执行:log show --predicate 'process == "launchservicesd" && eventMessage CONTAINS "register" --last 24h | awk -F'path:' '{print $2}' | awk -F'"' '{print $2}' | grep -v "^$" | sort -u | tail -10
注意:结果里出现的路径如"/Applications/Slack.app"或"/Users/xxx/Downloads/Telegram.app",就代表该软件在24小时内被系统注册并启动过。launchservicesd是macOS负责应用生命周期的核心服务,它的日志比用户手动执行的命令更权威。
在Finder中调取最近打开项目的隐性线索
虽然Finder不记录“运行”,但它会缓存你主动双击打开过的.app文件路径,这些痕迹藏在“最近项目”里,且无需第三方工具就能调出。
打开Finder,按下快捷键 【Command + Shift + R】,直接进入“最近项目”视图。这里列出的是你最近访问过的所有文件夹与应用程序,按时间倒序排列。
滚动列表,重点查看扩展名为.app的条目——它们就是你最近双击运行过的软件。哪怕你已把它拖进废纸篓,只要没清空废纸篓,这个记录仍会保留。
如果列表为空,说明你从未开启过“最近项目”功能。此时需先打开任意一个文件夹,在顶部菜单栏点击“显示”→“显示状态栏”,然后在状态栏右侧点击小三角,选择“最近项目”即可激活。











