为什么 Mac OS X 上的 htop 需要 root 权限才能查看所有进程的数据,但在 Linux 上却不需要 root 权限

为什么 Mac OS X 上的 htop 需要 root 权限才能查看所有进程的数据,但在 Linux 上却不需要 root 权限

htop我在 Linux 系统上工作时一直使用它。我已经htop-osx在 Mac 上通过 Homebrew 安装了它,但为了查看所有进程的所有数据,公式告诉我需要htop以 root 身份运行,使用sudo

在 Linux 系统上,似乎不需要 root 权限就可以显示所有进程的所有数据htop

我的问题是为什么我需要在 Mac 上执行此操作,但在 Linux 系统上不需要这样做吗?

以前,针对此问题的建议解决方案是设置二进制文件setuid上的位htop,并将chown二进制文件设置为 root,以便它以 root 用户身份运行。然而,变化被摒弃了这种方法,sudo而是改用这种方法。

答案1

在 Linux 上,htop 使用 /proc 文件系统,允许查看内核提供的信息。该文件系统 (/proc) 不是 OSX 的一部分,因此(与某些其他缺少此功能的系统一样),只能使用特权访问来获取内核的数据。

更多讨论

相关内容