为什么 Mac OS X 上的 htop 需要 root 权限才能查看所有进程的数据,但在 Linux 上它无需 root 即可运行

Joe*_*and 8 linux mac sudo htop macos

我使用的htop,当我工作的Linux系统上的所有时间。我已经htop-osx在 Mac 上通过 Homebrew安装了,但是为了查看所有进程的所有数据,配方告诉我我需要以htoproot身份运行,使用sudo.

在 Linux 系统上,似乎不需要 root 权限来显示htop.

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

以前,针对此问题的建议解决方案是setuidhtop二进制文件上的位设置chown为 root,以便它以 root 用户身份运行。但是,已对该方法进行了更改以改为使用sudo

Tho*_*key 10

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

更多讨论