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 797bcd0961 Catch invalid IO values due to no permissions. 10 years ago
darwin Run through all command line arguments on Darwin. 10 years ago
freebsd Add MEM% for processes in process list on FreeBSD. 10 years ago
linux Catch invalid IO values due to no permissions. 10 years ago
openbsd Merge branch 'xalloc' 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 Typo in the word "priority" 10 years ago
Action.h 'e' displays environment of current process 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 Improve feedback when moving meters. 11 years ago
AvailableMetersPanel.h Sorry about the mega-patch. 11 years ago
BatteryMeter.c Rename String to StringUtils. 11 years ago
BatteryMeter.h Move platform-dependent parts of Linux battery meter. 11 years ago
COPYING
CPUMeter.c Check for failure in allocations. 10 years ago
CPUMeter.h Calculate CPU averages on Darwin (See #295). 11 years ago
CRT.c Fix behavior of ESC key, getting rid of the annoying delay. 10 years ago
CRT.h Fix behavior of ESC key, getting rid of the annoying delay. 10 years ago
CategoriesPanel.c handle clicks on panel header line 11 years ago
CategoriesPanel.h Sorry about the mega-patch. 11 years ago
ChangeLog Final touches to ChangeLog 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 get a useful tolal for clock meter 11 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 Check for failure in allocations. 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 Check for failure in allocations. 10 years ago
Header.h Fix saving of header states, motion in Setup screen. 11 years ago
HostnameMeter.c BUGFIX: Fix crash when adding meters and toggling detailed CPU time. 12 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
IncSet.c Check for failure in allocations. 10 years ago
IncSet.h incremental search and filter reintegrated! 11 years ago
InfoScreen.c Fix behavior of ESC key, getting rid of the annoying delay. 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 Array entries have been oddly flipped here for years. 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 Check for failure in allocations. 10 years ago
MainPanel.h incremental search and filter reintegrated! 11 years ago
Makefile.am Force -lgcov harder when running `make coverage`. 10 years ago
MemoryMeter.c use dynamic units for text display 11 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 Avoid crash on huge screens. 10 years ago
Meter.h New macro GRAPH_HEIGHT for Graph Meter height 10 years ago
MetersPanel.c Fix crash when emptying column. Closes #381. 10 years ago
MetersPanel.h Improve feedback when moving meters. 11 years ago
NEWS
Object.c Check for failure in allocations. 10 years ago
Object.h Check for failure in allocations. 10 years ago
OpenFilesScreen.c Check for failure in allocations. 10 years ago
OpenFilesScreen.h refactor *Screen classes, add InfoScreen superclass 10 years ago
Panel.c Fix behavior of Panel on empty lists. 10 years ago
Panel.h Visual tweaks: change color when following, add Broken Gray theme. 11 years ago
Process.c Catch invalid IO values due to no permissions. 10 years ago
Process.h Reuse comm object if possible, avoid useless repetitions of free+strdup. 10 years ago
ProcessList.c Pre-reset 'show' for process. 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 Fix behavior of ESC key, getting rid of the annoying delay. 10 years ago
ScreenManager.h Move FunctionBar inside Panel 11 years ago
Settings.c Initialize default meter modes properly. 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 Check for failure in allocations. 10 years ago
StringUtils.h Fix comment. 11 years ago
SwapMeter.c use dynamic units for text display 11 years ago
SwapMeter.h use dynamic units for text display 11 years ago
TESTPLAN Fix failing stuff. 11 years ago
TasksMeter.c Major advances in FreeBSD port. 11 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 Check for failure in allocations. 10 years ago
TraceScreen.h refactor *Screen classes, add InfoScreen superclass 10 years ago
UptimeMeter.c Make UptimeMeter cross-platform again. 11 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 Shorten the code using the err() function. 10 years ago
XAlloc.h Add allocation tests 10 years ago
autogen.sh Simplify autogen.sh 10 years ago
configure.ac Portable affinity using hwloc 10 years ago
htop.1.in Fixed/enhanced some entries in the manpage 11 years ago
htop.c Remove old commented code. 10 years ago
htop.desktop Update htop.desktop 11 years ago
htop.h Sorry about the mega-patch. 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)