11

I'm looking for a better alternative for top. Both top and Activity Monitor are highly limited with regards to features. In particular, I'm interested in the following features:

  • Limit processes by name
  • Send different kill-signals to a process interactively, i.e. select the process from the process list and send a signal
  • Ability to show the entire command, not only the program name (as top -c does on Linux)
  • Show the status of each process
  • Optional: On Linux, top also updates the command when displayed, i.e. if a process writes in it's own argv during runtime, the updated command will be shown.

Htop is not an option, as it is unstable on Mac OS and only a small subset of it's features actually works on a Darwin system, probably because it partially relies on procfs. Is there a build or fork of htop that works on OS X since it has the features I want if it worked as it does on Linux?

3 Answers 3

6

You can install htop on Mac through brew with the following command:

brew install htop-osx

Don' t forget to grant root privileges after the installation.

3
  • 1
    Or with macports sudo port install htop
    – Matteo
    Commented Apr 20, 2013 at 15:44
  • As I said, htop is not an option. It's features very limited on Mac OS X, most of them simply don't work.
    – barbaz
    Commented Apr 21, 2013 at 13:18
  • What is this "grant root privileges" you refer to? Anyway seems that htop these days supports more on OS X, so this is a good option...
    – rogerdpack
    Commented May 26, 2022 at 15:59
1

Sending of signals and filtering by user is available out of the box. From man top

   INTERACTION
          When top is run in interactive (non-logging) mode, it is possible to control the output of top, as well as  in-
          teractively  send  signals to processes.  The interactive command syntax is terse.  Each command is one charac-
          ter, followed by 0 to 2 arguments.

   S<signal><pid>
          Send <sig> to <pid>.  <sig> can be specified either as a number or as a name (for example, HUP).   The  default
          signal  starts  out as TERM.  Each time a signal is successfully sent, the default signal is updated to be that
          signal.  <pid> is a process id.

   U<user>
          Only display processes owned by <user>.  Either the username or uid number can be specified.   To  display  all
          processes, press enter without entering a username or uid number.

If you want to extend top yourself, the source code is available on http://opensource.apple.com.

1
  • Thanks for the answer. Yes, I'm aware of that "feature"... however, specifying a signal and a PID is not really what counts as interactive... there is not improved comfort over writing "kill" on the commandline. I mean, the process should be selectable interactively (as in htop)
    – barbaz
    Commented Jan 3, 2013 at 10:12
1

You can use process explorer for OS X - http://newosxbook.com/ has that as a free download. It's modeled after Linux top, and is much more powerful than Apple's own.

1
  • 1. Could you link directly to the download. 2. Be sure to read over the help center on promotion.
    – bmike
    Commented Nov 1, 2013 at 4:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .