htop - an interactive process viewer
Go to file
Nathan Scott 6310e5dc3a Merge branch 'hishamhm-pull-886' 2020-08-19 18:12:30 +10:00
.github/workflows Update ci.yml 2020-08-17 15:53:49 +10:00
darwin Merge branch 'hishamhm-pull-842' 2020-08-18 17:35:56 +10:00
dragonflybsd Widen ST_UID (UID) column to 5 chars to allow UIDs > 9999 without breaking alignment 2018-10-07 11:16:12 +02:00
freebsd Widen ST_UID (UID) column to 5 chars to allow UIDs > 9999 without breaking alignment 2018-10-07 11:16:12 +02:00
linux Correction to smaps buffer size passed to smaps path snprintf 2020-08-19 17:50:43 +10:00
openbsd Merge branch 'hishamhm-pull-818' 2020-08-19 16:49:43 +10:00
scripts Resolve complation issues with -fno-common (default from gcc-10) 2020-07-10 10:35:32 +10:00
solaris Widen ST_UID (UID) column to 5 chars to allow UIDs > 9999 without breaking alignment 2018-10-07 11:16:12 +02:00
unsupported Widen ST_UID (UID) column to 5 chars to allow UIDs > 9999 without breaking alignment 2018-10-07 11:16:12 +02:00
.editorconfig add editorconfig file to give hints to editors 2015-10-05 11:13:17 +02:00
.gitignore Unstage/gitignore INSTALL since it's regenerated by autogen.sh 2018-06-13 00:36:05 -03:00
.travis.yml travis-ci should really detect autogen.sh... 2015-11-19 13:14:20 -02:00
AUTHORS Initial import. 2006-03-04 18:16:49 +00:00
Action.c Fix virtualization color in help screen 2018-06-13 00:47:08 -03:00
Action.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
Affinity.c Portable affinity using hwloc 2016-02-14 19:57:29 -02:00
Affinity.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
AffinityPanel.c Security review: check results of snprintf. 2017-07-27 16:07:50 -03:00
AffinityPanel.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
AvailableColumnsPanel.c Security review: check results of snprintf. 2017-07-27 16:07:50 -03:00
AvailableColumnsPanel.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
AvailableMetersPanel.c Honour setting of counting CPUs from 0/1 when presenting meters 2019-02-07 10:39:08 -02:00
AvailableMetersPanel.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
BatteryMeter.c Security review: check results of snprintf. 2017-07-27 16:07:50 -03:00
BatteryMeter.h Move platform-dependent parts of Linux battery meter. 2014-11-27 21:04:57 -02:00
CONTRIBUTING.md Add Contributing Guide! 2018-02-26 11:45:53 -03:00
COPYING Resolve license incompatibility issues, 2010-02-24 21:13:45 +00:00
CPUMeter.c Security review: check results of snprintf. 2017-07-27 16:07:50 -03:00
CPUMeter.h Calculate CPU averages on Darwin (See #295). 2015-10-23 13:46:21 -02:00
CRT.c Resolve complation issues with -fno-common (default from gcc-10) 2020-07-10 10:35:32 +10:00
CRT.h Resolve complation issues with -fno-common (default from gcc-10) 2020-07-10 10:35:32 +10:00
CategoriesPanel.c Mark some things as const 2017-07-22 22:34:30 -05:00
CategoriesPanel.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
ChangeLog Update ChangeLog 2018-04-10 10:42:46 -03:00
CheckItem.c Avoid future confusions with how default values are set. 2015-08-12 17:29:32 -03:00
CheckItem.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
ClockMeter.c Rename Meter.setValues() functions to updateValues() 2016-05-04 13:39:26 +08:00
ClockMeter.h Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 2012-12-05 15:12:20 +00:00
ColorsPanel.c Fix color behavior on some terminals. 2018-02-05 07:20:27 +01:00
ColorsPanel.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
ColumnsPanel.c fix fallthough comments for GCC 7.x 2017-10-23 14:27:33 -04:00
ColumnsPanel.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
DisplayOptionsPanel.c Mark some things as const 2017-07-22 22:34:30 -05:00
DisplayOptionsPanel.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
EnvScreen.c Security review: make privilege dropping-restoring optional. 2017-07-26 15:40:55 -03:00
EnvScreen.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
FunctionBar.c Mark some things as const 2017-07-22 22:34:30 -05:00
FunctionBar.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
Hashtable.c Check for failure in allocations. 2016-02-02 15:53:02 +01:00
Hashtable.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
Header.c Security review: check results of snprintf. 2017-07-27 16:07:50 -03:00
Header.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
HostnameMeter.c Rename Meter.setValues() functions to updateValues() 2016-05-04 13:39:26 +08:00
HostnameMeter.h Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 2012-12-05 15:12:20 +00:00
IncSet.c Mark some things as const 2017-07-22 22:34:30 -05:00
IncSet.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
InfoScreen.c Resolve compilation warning relating to dangling else in InfoScreen_run 2020-08-19 18:10:16 +10:00
InfoScreen.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
ListItem.c Security review: check results of snprintf. 2017-07-27 16:07:50 -03:00
ListItem.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
LoadAverageMeter.c Security review: check results of snprintf. 2017-07-27 16:07:50 -03:00
LoadAverageMeter.h Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 2012-12-05 15:12:20 +00:00
MainPanel.c Replace size_t with int/void* union 2018-02-18 10:38:49 -03:00
MainPanel.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
Makefile.am Disable 'make dist' when pkg.m4 is unused in configure 2018-05-22 23:21:42 -03:00
MemoryMeter.c Rename Meter.setValues() functions to updateValues() 2016-05-04 13:39:26 +08:00
MemoryMeter.h Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 2012-12-05 15:12:20 +00:00
Meter.c fixed display of blank bars 2020-08-18 11:48:08 +02:00
Meter.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
MetersPanel.c fix fallthough comments for GCC 7.x 2017-10-23 14:27:33 -04:00
MetersPanel.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
NEWS cleanup old stuff 2011-11-21 02:58:34 +00:00
Object.c Check for failure in allocations. 2016-02-02 15:53:02 +01:00
Object.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
OpenFilesScreen.c Use fork/exec instead of popen to run lsof (#757) 2018-03-16 11:39:03 -03:00
OpenFilesScreen.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
Panel.c Handle unexpected values for character passed to isalnum 2018-02-05 10:59:20 +01:00
Panel.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
Process.c Merge branch 'hishamhm-pull-869' 2020-08-19 18:04:28 +10:00
Process.h Merge branch 'hishamhm-pull-869' 2020-08-19 18:04:28 +10:00
ProcessList.c Collapse current subtree pressing Backspace 2018-04-05 19:38:13 -03:00
ProcessList.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
README chore: add clarification to the docs 2019-01-26 09:56:19 -05:00
README.md Add README.md for Github 2014-02-03 09:11:39 -02:00
RichString.c Protect against overflows in RichString_setAttrn 2018-02-26 11:05:12 -03:00
RichString.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
ScreenManager.c Remove duplicated if condition 2019-02-10 14:16:46 +01:00
ScreenManager.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
Settings.c Make settings file finding sequence more straightforward 2018-02-18 20:42:17 -03:00
Settings.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
SignalsPanel.c Fix overflow for signals >= 100. 2018-03-25 15:15:37 -03:00
SignalsPanel.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
StringUtils.c free(NULL) is a valid no-op, so let's make String_freeArray(NULL) valid too. 2016-08-24 18:12:35 -03:00
StringUtils.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
SwapMeter.c Rename Meter.setValues() functions to updateValues() 2016-05-04 13:39:26 +08:00
SwapMeter.h use dynamic units for text display 2015-08-27 06:13:27 +02:00
TESTPLAN Fix failing stuff. 2015-04-09 15:56:43 -03:00
TasksMeter.c htop scans /proc to determine how many running tasks exist. Since that 2018-01-23 14:11:47 -02:00
TasksMeter.h Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 2012-12-05 15:12:20 +00:00
TraceScreen.c strace: increase string length 2018-03-25 15:14:04 -03:00
TraceScreen.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
UptimeMeter.c Security review: check results of snprintf. 2017-07-27 16:07:50 -03:00
UptimeMeter.h Move UptimeMeter back into cross-platform code. 2014-11-27 19:34:47 -02:00
UsersTable.c Check for failure in allocations. 2016-02-02 15:53:02 +01:00
UsersTable.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
Vector.c Optimize Vector_size on non-debug builds 2018-02-05 11:01:35 +01:00
Vector.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
XAlloc.c Security review: check results of snprintf. 2017-07-27 16:07:50 -03:00
XAlloc.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
autogen.sh Simplify autogen.sh 2016-02-14 22:36:40 +01:00
configure.ac Disable 'make dist' when pkg.m4 is unused in configure 2018-05-22 23:21:42 -03:00
htop.1.in Mention the "c" key (tag subtree) in the man 2018-06-02 18:22:56 -03:00
htop.c htop.c: remove unused "--io" / "-i" (#811) 2019-02-10 14:16:46 +01:00
htop.desktop Improve Catalan translation for desktop file (#828) 2018-08-24 17:10:09 -03:00
htop.h Re-generate all headers with latest scripts/MakeHeader.py 2020-08-18 17:41:49 +10:00
htop.png Updated icon! 2014-04-09 14:47:58 -03:00
test_spec.lua Fix typos, by @Gelma. 2016-08-30 12:37:31 -03:00

README.md

Build Status PayPal donate

htop

by Hisham Muhammad hisham@gobolinux.org (2004 - 2016)

Introduction

This is htop, an interactive process viewer. It requires ncurses. It is developed primarily on Linux, but we also have code for running under FreeBSD and Mac OS X (help and testing are wanted for these platforms!)

This software has evolved considerably over the years, and is reasonably complete, but there is always room for improvement.

Comparison between htop and classic top

  • In htop you can scroll the list vertically and horizontally to see all processes and full command lines.
  • In top you are subject to a delay for each unassigned key you press (especially annoying when multi-key escape sequences are triggered by accident).
  • htop starts faster (top seems to collect data for a while before displaying anything).
  • In htop you don't need to type the process number to kill a process, in top you do.
  • In htop you don't need to type the process number or the priority value to renice a process, in top you do.
  • In htop you can kill multiple processes at once.
  • top is older, hence, more tested.

Compilation instructions

This program is distributed as a standard autotools-based package. For detailed instructions see the INSTALL file, which is created after ./autogen.sh is run.

When compiling from a release tarball, run:

./configure && make

For compiling sources downloaded from the Git repository, run:

./autogen.sh && ./configure && make

By default make install will install into /usr/local, for changing the path use ./configure --prefix=/some/path.

See the manual page (man htop) or the on-line help ('F1' or 'h' inside htop) for a list of supported key commands.

If not all keys work check your curses configuration.

License

GNU General Public License, version 2 (GPL-2.0)