You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下如何追踪命令访问的文件?替代Linux的strace工具

MacOS下替代strace的文件访问追踪工具

MacOS上最接近strace的工具是dtruss,它基于DTrace框架,能直接追踪进程的系统调用,包括所有文件访问操作,完全能解决短生命周期进程无法用lsof捕获的问题。

dtruss的基础用法

  • 追踪新启动命令的文件相关操作:
    直接在目标命令前加上dtruss,同时过滤出文件相关的系统调用(避免输出冗余信息),需要sudo权限:

    sudo dtruss -f -t open,read,write ls
    

    其中:

    • -f:同时追踪命令启动的子进程
    • -t open,read,write:只保留文件打开、读取、写入的系统调用记录
  • 追踪已运行进程(需快速获取PID):

    sudo dtruss -p <进程PID> -t open,read,write
    

其他可选工具

如果只专注于文件系统层面的活动,fs_usage也是个不错的选择,它的输出更聚焦文件操作细节:

sudo fs_usage -f filesys <目标命令>

注意事项

MacOS系统自带的二进制程序(比如ls、cat)受系统完整性保护(SIP)限制,用dtruss追踪前需要临时关闭SIP,操作方式是重启到恢复模式后执行csrutil disable,用完再重新开启。

内容的提问来源于stack exchange,提问作者eof

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 20:26:01