| Samuel Williams | 746a5f2 | 2020-09-02 11:54:17 +1200 | [diff] [blame] | 1 | # [](https://htop.dev) |
| Tomas Barton | 01edfcf | 2016-02-11 19:17:00 +0100 | [diff] [blame] | 2 | |
| Nathan Scott | a7a5e35 | 2020-08-20 13:16:31 +1000 | [diff] [blame] | 3 | [](https://github.com/htop-dev/htop/actions) |
| Nathan Scott | b5e6952 | 2020-08-27 10:42:40 +1000 | [diff] [blame] | 4 | [](https://scan.coverity.com/projects/21665) |
| Nathan Scott | a7a5e35 | 2020-08-20 13:16:31 +1000 | [diff] [blame] | 5 | [](https://groups.io/g/htop) |
| 6 | [](https://webchat.freenode.net/#htop) |
| 7 | [](https://github.com/htop-dev/htop/releases/latest) |
| Nathan Scott | 4bd0859 | 2020-08-31 16:12:44 +1000 | [diff] [blame] | 8 | [](https://bintray.com/htop/source/htop/_latestVersion) |
| Hisham Muhammad | 369bef2 | 2014-04-05 19:56:35 -0300 | [diff] [blame] | 9 | |
| Bart Joy | 816734e | 2020-10-01 20:08:49 +1300 | [diff] [blame] | 10 |  |
| 11 | |
| Samuel Williams | 746a5f2 | 2020-09-02 11:54:17 +1200 | [diff] [blame] | 12 | ## Introduction |
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 13 | |
| Nathan Scott | a7a5e35 | 2020-08-20 13:16:31 +1000 | [diff] [blame] | 14 | `htop` is a cross-platform interactive process viewer. |
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 15 | |
| Daniel Lange | 3a1c698 | 2020-09-16 17:54:25 +0200 | [diff] [blame] | 16 | `htop` allows scrolling the list of processes vertically and horizontally to see their full command lines and related information like memory and CPU consumption. |
| 17 | |
| 18 | The information displayed is configurable through a graphical setup and can be sorted and filtered interactively. |
| 19 | |
| 20 | Tasks related to processes (e.g. killing and renicing) can be done without entering their PIDs. |
| 21 | |
| 22 | Running `htop` requires `ncurses` libraries (typically named libncursesw*). |
| 23 | |
| 24 | For more information and details on how to contribute to `htop` visit [htop.dev](https://htop.dev). |
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 25 | |
| Samuel Williams | 746a5f2 | 2020-09-02 11:54:17 +1200 | [diff] [blame] | 26 | ## Build instructions |
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 27 | |
| Daniel Lange | 3a1c698 | 2020-09-16 17:54:25 +0200 | [diff] [blame] | 28 | This program is distributed as a standard GNU autotools-based package. |
| Hisham | 011bf30 | 2016-02-11 17:20:50 -0200 | [diff] [blame] | 29 | |
| Daniel Lange | 3a1c698 | 2020-09-16 17:54:25 +0200 | [diff] [blame] | 30 | Compiling `htop` requires the header files for `ncurses` (libncursesw*-dev). Install these and other required packages for C development from your package manager. |
| 31 | |
| 32 | Then, when compiling from a [release tarball](https://bintray.com/htop/source/htop), run: |
| Hisham | 011bf30 | 2016-02-11 17:20:50 -0200 | [diff] [blame] | 33 | |
| Samuel Williams | 746a5f2 | 2020-09-02 11:54:17 +1200 | [diff] [blame] | 34 | ~~~ shell |
| 35 | ./configure && make |
| 36 | ~~~ |
| Hisham | 011bf30 | 2016-02-11 17:20:50 -0200 | [diff] [blame] | 37 | |
| Daniel Lange | 3a1c698 | 2020-09-16 17:54:25 +0200 | [diff] [blame] | 38 | Alternatively, for compiling sources downloaded from the Git repository (`git clone` or downloads from [Github releases](https://github.com/htop-dev/htop/releases/)), |
| 39 | install the header files for `ncurses` (libncursesw*-dev) and other required development packages from your distribution's package manager. Then run: |
| Hisham Muhammad | 817e292 | 2014-02-03 09:11:08 -0200 | [diff] [blame] | 40 | |
| Samuel Williams | 746a5f2 | 2020-09-02 11:54:17 +1200 | [diff] [blame] | 41 | ~~~ shell |
| 42 | ./autogen.sh && ./configure && make |
| 43 | ~~~ |
| Hisham Muhammad | d6231ba | 2006-03-04 18:16:49 +0000 | [diff] [blame] | 44 | |
| Daniel Lange | 3a1c698 | 2020-09-16 17:54:25 +0200 | [diff] [blame] | 45 | By default `make install` will install into `/usr/local`, for changing the path use `./configure --prefix=/some/path`. |
| Tomas Barton | d408c74 | 2016-02-11 14:59:45 +0100 | [diff] [blame] | 46 | |
| Christian Göttsche | 5e103ff | 2021-01-22 19:14:46 +0100 | [diff] [blame] | 47 | ### Build Options |
| 48 | |
| 49 | `htop` has several build-time options to enable/disable additional features. |
| 50 | |
| 51 | #### Generic |
| 52 | |
| 53 | * `--enable-unicode`: |
| 54 | enable Unicode support |
| 55 | dependency: *libncursesw* |
| 56 | default: *yes* |
| 57 | * `--enable-hwloc`: |
| 58 | enable hwloc support for CPU affinity; disables Linux affinity |
| 59 | dependency: *libhwloc* |
| 60 | default: *no* |
| 61 | * `--enable-setuid`: |
| 62 | enable setuid support for privilege dropping |
| 63 | default: *no* |
| Christian Göttsche | 575edff | 2021-01-22 19:14:59 +0100 | [diff] [blame^] | 64 | *`--enable-static`: |
| 65 | build a static htop binary; hwloc and delay accounting are not supported |
| 66 | default: *no* |
| Christian Göttsche | 5e103ff | 2021-01-22 19:14:46 +0100 | [diff] [blame] | 67 | * `--enable-debug`: |
| 68 | Enable asserts and internal sanity checks; implies a performance penalty |
| 69 | default: *no* |
| 70 | |
| 71 | #### Linux |
| 72 | |
| 73 | * `--enable-sensors`: |
| 74 | enable libsensors(3) support for reading temperature data |
| 75 | dependencies: *libsensors-dev*(build-time), at runtime *libsensors* is loaded via `dlopen(3)` if available |
| 76 | default: *check* |
| 77 | * `--enable-capabilities`: |
| 78 | enable Linux capabilities support |
| 79 | dependency: *libcap* |
| 80 | default: *check* |
| 81 | * `--with-proc`: |
| 82 | location of a Linux-compatible proc filesystem |
| 83 | default: */proc* |
| 84 | * `--enable-openvz`: |
| 85 | enable OpenVZ support |
| 86 | default: *no* |
| 87 | * `--enable-vserver`: |
| 88 | enable VServer support |
| 89 | default: *no* |
| 90 | * `--enable-ancient-vserver`: |
| 91 | enable ancient VServer support (implies `--enable-vserver`) |
| 92 | default: *no* |
| 93 | * `--enable-linux-affinity`: |
| 94 | enable Linux `sched_setaffinity(2)` and `sched_getaffinity(2)` for affinity support; conflicts with hwloc |
| 95 | default: *check* |
| 96 | * `--enable-delayacct`: |
| 97 | enable Linux delay accounting support |
| 98 | dependencies: *pkg-config*(build-time), *libnl-3* and *libnl-genl-3* |
| 99 | default: *check* |
| 100 | |
| 101 | ## Usage |
| 102 | |
| Daniel Lange | 3a1c698 | 2020-09-16 17:54:25 +0200 | [diff] [blame] | 103 | See the manual page (`man htop`) or the on-line help ('F1' or 'h' inside `htop`) for a list of supported key commands. |
| 104 | |
| 105 | ## Support |
| 106 | |
| 107 | If you have trouble running `htop` please consult your Operating System / Linux distribution documentation for getting support and filing bugs. |
| 108 | |
| 109 | ## Bugs, development feedback |
| 110 | |
| 111 | We have a [development mailing list](https://htop.dev/mailinglist.html). Feel free to subscribe for release announcements or asking questions on the development of htop. |
| 112 | |
| 113 | You can also join our IRC channel #htop on freenode and talk to the developers there. |
| 114 | |
| 115 | If you have found an issue with the source of htop, please check whether this has already been reported in our [Github issue tracker](https://github.com/htop-dev/htop/issues). |
| 116 | If not, please file a new issue describing the problem you have found, the location in the source code you are referring to and a possible fix. |
| 117 | |
| 118 | ## History |
| 119 | |
| Daniel Lange | 6646030 | 2020-09-17 09:45:53 +0200 | [diff] [blame] | 120 | `htop` was invented, developed and maintained by Hisham Muhammad from 2004 to 2019. His [legacy repository](https://github.com/hishamhm/htop/) has been archived to preserve the history. |
| Daniel Lange | 3a1c698 | 2020-09-16 17:54:25 +0200 | [diff] [blame] | 121 | |
| 122 | In 2020 a [team](https://github.com/orgs/htop-dev/people) took over the development amicably and continues to maintain `htop` collaboratively. |
| Tomas Barton | d408c74 | 2016-02-11 14:59:45 +0100 | [diff] [blame] | 123 | |
| Tomas Barton | d408c74 | 2016-02-11 14:59:45 +0100 | [diff] [blame] | 124 | ## License |
| 125 | |
| 126 | GNU General Public License, version 2 (GPL-2.0) |