【问题标题】:Detect if a process can't file a file [closed]检测进程是否无法归档文件[关闭]
【发布时间】:2017-09-29 19:02:50
【问题描述】:

在 Windows 中,我使用 sysinternals 的 processpx 来检测进程是否试图访问不存在的文件。 有没有办法在 osx 上做到这一点?

【问题讨论】:

  • 为什么是 Linux 标签?考虑stracedtruss

标签: macos osx-yosemite


【解决方案1】:

您可以使用 dtrace 脚本相对轻松地做到这一点。

我们想要记录所有打开的文件名调用, 如果打开失败,并且 errno 为 ENOENT,则显示进程名、pid 和文件名。

syscall::open*:entry
{ self->path = copyinstr(arg0); }

syscall::open*:return
/ arg0 < 0 && errno == ENOENT /
{ printf("%s(%d): %s", execname, pid, self->path); }

然后sudo dtrace -s &lt;script&gt;

但是,在 OSX 上,由于系统完整性保护,很多进程将不会被此监控。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    相关资源
    最近更新 更多