題 htop沒有返回CPU或內存使用情況!?


我覺得 最佳 是監控Linux系統的絕佳應用程序。我真的很喜歡它,但是 最佳 在Mac上看起來不那麼好。我知道Mac有一個系統監視器來做,但我更喜歡使用終端。

我安裝了 HTOP 通過運行:

brew install htop

這是它的樣子:

PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
    1 0          0   0     0     0     0 ?  0.0  0.0  0:00.00 (launchd)
   10 0          0   0     0     0     0 ?  0.0  0.0  0:00.00 (kextd)
   11 0          0   0     0     0     0 ?  0.0  0.0  0:00.00 (UserEventAgent)
   12 65         0   0     0     0     0 ?  0.0  0.0  0:00.00 (mDNSResponder)

問題在於兩者 中央處理器 和 MEM 沒有在我的系統上返回任何一個的真實值。

還有其他人經歷過這個嗎? 或者,有人能指出我正確的方向嗎?


79
2017-09-22 15:54


起源




答案:


我有同樣的問題所以我檢查配方。

$ brew edit htop

然後我檢查這部分食譜:

def caveats; <<-EOS.undent
    For htop to display correctly all running processes, it needs to run as root.
    If you don't want to `sudo htop` every time, change the owner and permissions:
    cd #{bin}
    chmod 6555 htop
    sudo chown root htop
EOS

所以只需輸入 sudo htop 你會看到的 中央處理器 和 MEM


93
2018-01-01 00:34



您可以使用 brew info htop 看到警告內容 - A B
這對於那些安裝了macports的人也很有幫助;對我來說,我不知道為什麼,但是 sudo htop 沒用。 htop 安裝在 /bin, 所以我 cd在那裡跑了 chmod 6555 htop && sudo chown root htop。現在 htop 工作良好。 - Brian McCutchon
@AB不再了,他們改變了。 - Dalibor Filus
此解決方案允許任何用戶終止任何其他用戶(或root)的進程。有沒有辦法允許htop 讀 CPU和MEM不允許它修改系統? - Max
如果你想修改 htop無論在哪里安裝,都要使用 chmod 6555 "$(which htop)" - BallpointBen


從我的釀造信息:

You can either run the program via `sudo` or set the setuid bit:

  sudo chown root:wheel /usr/local/Cellar/htop-osx/0.8.2.2/bin/htop

  sudo chmod u+s /usr/local/Cellar/htop-osx/0.8.2.2/bin/htop

這有助於確保我不需要將htop作為sudo運行


19
2017-11-05 15:52





對於那些不想使用權限進行破壞並仍然避免鍵入的人來說,這是一個替代方案 sudo htop 優先於 htop

  1. 使用brew安裝: brew install htop
  2. 允許 sudo htop 沒有sudo密碼運行
    1. sudo visudo 在編輯器中打開sudoers文件
    2. 將其添加到配置文件中: %admin ALL=(ALL) NOPASSWD: /usr/local/bin/htop
    3. 保存文件並退出(:wq 最有可能的)
  3. 將以下別名添加到shell rc文件中(示例適用於 ~/.bashrc 要么 ~/.profile): alias htop='sudo htop'

6
2017-07-02 22:58





請注意,為了使最新版本的htop能夠在OS X上正常運行,僅僅“祝福”htop是不夠的 chmod 6555 htop 和 sudo chown htop  - 當htop運行時,輸出會有所不同 htop 和 sudo htop

這是“受祝福的”htop實例的屏幕截圖,調用為 htop

enter image description here

這是一張運行的圖片 sudo htop

enter image description here

如你所見,非sudo調用 htop 顯示的信息顯著減少。

@Sukima提出了正確的答案;不幸的是,它需要別名 htop 至 sudo htop。對於命令行用戶,在提示符下鍵入密碼是第二天性,我認為對於我們大多數人來說忘記啟動 htop 作為sudo是問題,而不是被要求輸入密碼。我強烈反對允許 sudo htop 在沒有密碼提示的情況下運行,但如果您希望這樣做,最好的方法是允許一個命名用戶在沒有密碼的情況下啟動htop(並且只有htop)(儘管這是一個巨大的漏洞,因為htop功能強大且可擴展且可以運行外部命令,這意味著以sudo身份運行htop的任何人都可以執行任何操作):

sudo visudo
# add the line below somewhere in the editor
YOURUSERNAME ALL=(ALL) NOPASSWD: /usr/local/bin/htop
# save and exit

0
2017-08-02 15:39