You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Hisham Muhammad 0fa03322a9 Dynamically adjust the size of line reads 10 years ago
darwin Remove needless allocation error conditions 10 years ago
freebsd Merge pull request #496 from tcreech/lwp_hack 10 years ago
linux Dynamically adjust the size of line reads 10 years ago
openbsd Remove needless allocation error conditions 10 years ago
scripts Sorry about the mega-patch. 11 years ago
unsupported Make unsupported platform build again. 10 years ago
.editorconfig add editorconfig file to give hints to editors 11 years ago
.gitignore remove autoconf files, generate by autogen.sh 11 years ago
.travis.yml travis-ci should really detect autogen.sh... 10 years ago
AUTHORS
Action.c Auto-follow process after a search. 10 years ago
Action.h Auto-follow process after a search. 10 years ago
Affinity.c Portable affinity using hwloc 10 years ago
Affinity.h Portable affinity using hwloc 10 years ago
AffinityPanel.c Check for failure in allocations. 10 years ago
AffinityPanel.h Sorry about the mega-patch. 11 years ago
AvailableColumnsPanel.c Do not trust isalpha(c) for values > 255. 11 years ago
AvailableColumnsPanel.h Sorry about the mega-patch. 11 years ago
AvailableMetersPanel.c Assert (Platform_meterTypes[0]==&CPUMeter_class) 10 years ago
AvailableMetersPanel.h Sorry about the mega-patch. 11 years ago
BatteryMeter.c Rename Meter.setValues() functions to updateValues() 10 years ago
BatteryMeter.h Move platform-dependent parts of Linux battery meter. 11 years ago
COPYING
CPUMeter.c Rename Meter.setValues() functions to updateValues() 10 years ago
CPUMeter.h Calculate CPU averages on Darwin (See #295). 11 years ago
CRT.c Handle SIGQUIT. Closes #503. 10 years ago
CRT.h Avoid overlapping key values defined by curses (Real fix). 10 years ago
CategoriesPanel.c Added Ctrl+A and Ctrl+E to go to beginning and end of line. 10 years ago
CategoriesPanel.h Sorry about the mega-patch. 11 years ago
ChangeLog Prepare for release 2.0.1. 10 years ago
CheckItem.c Avoid future confusions with how default values are set. 11 years ago
CheckItem.h Avoid future confusions with how default values are set. 11 years ago
ClockMeter.c Rename Meter.setValues() functions to updateValues() 10 years ago
ClockMeter.h Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 13 years ago
ColorsPanel.c Check for failure in allocations. 10 years ago
ColorsPanel.h Make the implementation of color schemes declarative. 11 years ago
ColumnsPanel.c Check for failure in allocations. 10 years ago
ColumnsPanel.h Sorry about the mega-patch. 11 years ago
DisplayOptionsPanel.c Try to make threads less confusing. 10 years ago
DisplayOptionsPanel.h Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 13 years ago
EnvScreen.c Silence warnings about seteuid return value. 10 years ago
EnvScreen.h refactor *Screen classes, add InfoScreen superclass 10 years ago
FunctionBar.c Check for failure in allocations. 10 years ago
FunctionBar.h Simplify constructors. 11 years ago
Hashtable.c Check for failure in allocations. 10 years ago
Hashtable.h major header cleanup 14 years ago
Header.c Fix macro Header_forEachColumn 10 years ago
Header.h Fix macro Header_forEachColumn 10 years ago
HostnameMeter.c Rename Meter.setValues() functions to updateValues() 10 years ago
HostnameMeter.h Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 13 years ago
INSTALL Update INSTALL text from autoconf-2.69 10 years ago
IncSet.c Auto-follow process after a search. 10 years ago
IncSet.h Auto-follow process after a search. 10 years ago
InfoScreen.c Use set_escdelay() to avoid problems with ESCDELAY as a macro. 10 years ago
InfoScreen.h refactor *Screen classes, add InfoScreen superclass 10 years ago
ListItem.c Check for failure in allocations. 10 years ago
ListItem.h Sorry about the mega-patch. 11 years ago
LoadAverageMeter.c Rename Meter.setValues() functions to updateValues() 10 years ago
LoadAverageMeter.h Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 13 years ago
MainPanel.c Added Ctrl+A and Ctrl+E to go to beginning and end of line. 10 years ago
MainPanel.h Make sure a pointer fits in the argument! 10 years ago
Makefile.am Force -lgcov harder when running `make coverage`. 10 years ago
MemoryMeter.c Rename Meter.setValues() functions to updateValues() 10 years ago
MemoryMeter.h Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 13 years ago
Meter.c Remove redundant is-null checks on free(Meter.drawData) 10 years ago
Meter.h Rename Meter.setValues() functions to updateValues() 10 years ago
MetersPanel.c Fixes #498. 10 years ago
MetersPanel.h Improve feedback when moving meters. 11 years ago
NEWS cleanup old stuff 15 years ago
Object.c Check for failure in allocations. 10 years ago
Object.h Check for failure in allocations. 10 years ago
OpenFilesScreen.c Dynamically adjust the size of line reads 10 years ago
OpenFilesScreen.h refactor *Screen classes, add InfoScreen superclass 10 years ago
Panel.c Moving left and right needs a full redraw. 10 years ago
Panel.h Added Ctrl+A and Ctrl+E to go to beginning and end of line. 10 years ago
Process.c While we're at it, get rid of another sprintf. 10 years ago
Process.h Silence cast warning. 10 years ago
ProcessList.c Release resource when using hwloc 10 years ago
ProcessList.h Portable affinity using hwloc 10 years ago
README Minor tweaks to the README 10 years ago
README.md Add README.md for Github 12 years ago
RichString.c Check for failure in allocations. 10 years ago
RichString.h Introduce CLAMP macro. Unify all MIN(MAX(a,b),c) uses. 10 years ago
ScreenManager.c Added Ctrl+A and Ctrl+E to go to beginning and end of line. 10 years ago
ScreenManager.h Move FunctionBar inside Panel 11 years ago
Settings.c Dynamically adjust the size of line reads 10 years ago
Settings.h Merge pull request #148 from nckx/display-basename 11 years ago
SignalsPanel.c Fix build in FreeBSD, and make sure SIGTERM is always the default. 11 years ago
SignalsPanel.h Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 13 years ago
StringUtils.c Dynamically adjust the size of line reads 10 years ago
StringUtils.h Dynamically adjust the size of line reads 10 years ago
SwapMeter.c Rename Meter.setValues() functions to updateValues() 10 years ago
SwapMeter.h use dynamic units for text display 11 years ago
TESTPLAN Fix failing stuff. 11 years ago
TasksMeter.c Rename Meter.setValues() functions to updateValues() 10 years ago
TasksMeter.h Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 13 years ago
TraceScreen.c Silence warnings about seteuid return value. 10 years ago
TraceScreen.h refactor *Screen classes, add InfoScreen superclass 10 years ago
UptimeMeter.c Rename Meter.setValues() functions to updateValues() 10 years ago
UptimeMeter.h Move UptimeMeter back into cross-platform code. 11 years ago
UsersTable.c Check for failure in allocations. 10 years ago
UsersTable.h major header cleanup 14 years ago
Vector.c Check for failure in allocations. 10 years ago
Vector.h Changes in object model: separate class objects to store vtable. Also, nicer UTF-8 display of big numbers. 13 years ago
XAlloc.c Fix xStrdup debug build failure & allow Clang to use ((nonnull)) 10 years ago
XAlloc.h Fix xStrdup debug build failure & allow Clang to use ((nonnull)) 10 years ago
autogen.sh Simplify autogen.sh 10 years ago
configure.ac Fail early if libtool is not present. 10 years ago
htop.1.in Use "-" as the Ctrl and Alt joiner. 10 years ago
htop.c Remove old commented code. 10 years ago
htop.desktop Add Keywords entry to .desktop file (Debian Lintian warning desktop-entry-lacks-keywords-entry) 10 years ago
htop.h Tempus fugit. 11 years ago
htop.png Updated icon! 12 years ago
test_spec.lua Tweaks on the test suite, still problematic. 10 years ago

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. See the INSTALL file for detailed instructions.

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)