web-dev-qa-db-ja.com

htopがCPUまたはメモリ使用量を返さない!?

topはLinuxシステムを監視するのに最適なアプリケーションだと思います。私はそれが本当に好きです、しかしtopは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)

問題は[〜#〜] cpu [〜#〜][〜#〜] mem [〜#〜]の両方が実際の値を返さないことです私のシステムでも。

他の誰かがこれを経験しましたか?または、誰かが私を正しい方向に向けることができますか?

80
Yuan He

同じ問題がありますので、レシピを確認します。

$ 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とすると、[〜#〜] cpu [〜#〜][〜#〜] mem [〜#〜]が表示されます。

92
matiskay

私の醸造情報から:

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

これは、HudoをSudoとして実行する必要がないことを確認するために機能しました

20
Ivan Suftin

これは、権限をいじりたくないが、htopだけではなく_Sudo 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. 次のエイリアスをシェルrcファイルに追加します(例は_~/.bashrc_または_~/.profile_の場合):_alias htop='Sudo htop'_
6
Sukima

OS Xでhtopの最新バージョンが正しく機能するためには、chmod 6555 htopおよびSudo chown htopでhtopを「祝福」するだけでは十分ではないことに注意してください。htopは実行されますが、出力はhtopおよびSudo htop

以下はhtopとして呼び出された「祝福された」htopインスタンスのスクリーンショットです。

enter image description here

これがSudo htopとして実行されている写真です:

enter image description here

ご覧のとおり、Sudoで呼び出されていないhtopでは、表示される情報が大幅に少なくなっています。

正解は@Sukimaによって提示されました。残念ながら、htopSudo htopにエイリアスする必要があります。コマンドラインユーザーの場合、プロンプトでパスワードを入力することは2番目の性質であり、ほとんどの場合、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