Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
htop is an interactive text-mode process viewer for Linux. It aims to be a better 'top'.
C C++ Lua Other
branch: master
Failed to load latest commit information.
linux Improve reading of cgroups.
m4 Remove generated files from version history
scripts Another portability tweak.
unsupported Fix allocation of processes. Closes #166.
.gitignore Add a .gitignore file
AUTHORS Initial import.
Action.c Tempus fugit.
Action.h Tempus fugit.
Affinity.c Fix order of calloc arguments.
Affinity.h Changes in object model: separate class objects to store vtable. Also…
AffinityPanel.c Changes in object model: separate class objects to store vtable. Also…
AffinityPanel.h Changes in object model: separate class objects to store vtable. Also…
AvailableColumnsPanel.c Do not trust isalpha(c) for values > 255.
AvailableColumnsPanel.h Changes in object model: separate class objects to store vtable. Also…
AvailableMetersPanel.c Move UptimeMeter into platform-dependent area.
AvailableMetersPanel.h Changes in object model: separate class objects to store vtable. Also…
BatteryMeter.c Fix allocation of processes. Closes #166.
BatteryMeter.h Move platform-dependent parts of Linux battery meter.
COPYING Resolve license incompatibility issues,
CPUMeter.c Make blue text more readable. Closes #55.
CPUMeter.h Changes in object model: separate class objects to store vtable. Also…
CRT.c Changes for supporting separate platform subdirectories.
CRT.h Changes for supporting separate platform subdirectories.
CategoriesPanel.c Do not trust isalpha(c) for values > 255.
CategoriesPanel.h Changes in object model: separate class objects to store vtable. Also…
ChangeLog Update changelog.
CheckItem.c alignment improvements
CheckItem.h alignment improvements
ClockMeter.c Use reentrant version to silence warnings.
ClockMeter.h Changes in object model: separate class objects to store vtable. Also…
ColorsPanel.c Changes in object model: separate class objects to store vtable. Also…
ColorsPanel.h Changes in object model: separate class objects to store vtable. Also…
ColumnsPanel.c Do not trust isalpha(c) for values > 255.
ColumnsPanel.h Changes in object model: separate class objects to store vtable. Also…
DisplayOptionsPanel.c Make CPU meter optionally account guest time in its percentages
DisplayOptionsPanel.h Changes in object model: separate class objects to store vtable. Also…
FunctionBar.c Improve discoverability of the expand/collapse feature.
FunctionBar.h Changes in object model: separate class objects to store vtable. Also…
Hashtable.c Fix order of calloc arguments.
Hashtable.h major header cleanup
Header.c Move UptimeMeter into platform-dependent area.
Header.h Decouple Header from Meter classes.
HostnameMeter.c BUGFIX: Fix crash when adding meters and toggling detailed CPU time.
HostnameMeter.h Changes in object model: separate class objects to store vtable. Also…
INSTALL Initial import.
IncSet.c Do not trust isalpha(c) for values > 255.
IncSet.h Add corresponding .h file.
ListItem.c Compare with long, for 64-bit systems
ListItem.h Compare with long, for 64-bit systems
LoadAverageMeter.c Isolate cross-platform code for load average.
LoadAverageMeter.h Changes in object model: separate class objects to store vtable. Also…
Makefile.am Add coverage testing rules
MemoryMeter.c Make blue text more readable. Closes #55.
MemoryMeter.h Changes in object model: separate class objects to store vtable. Also…
Meter.c Move UptimeMeter into platform-dependent area.
Meter.h Move UptimeMeter into platform-dependent area.
MetersPanel.c Changes in object model: separate class objects to store vtable. Also…
MetersPanel.h Changes in object model: separate class objects to store vtable. Also…
NEWS cleanup old stuff
Object.c Compare with long, for 64-bit systems
Object.h Compare with long, for 64-bit systems
OpenFilesScreen.c Let's see if this assert makes static analyzers happier.
OpenFilesScreen.h Add .h file ref previous commit
Panel.c Do not trust isalpha(c) for values > 255.
Panel.h alignment improvements
Process.c Tempus fugit.
Process.h Tempus fugit.
ProcessList.c Add ProcessList_delete to the variable interface.
ProcessList.h Add ProcessList_delete to the variable interface.
README a nicer look
README.md Add README.md for Github
RichString.c Do not trust isalpha(c) for values > 255.
RichString.h Refactored key handlers.
ScreenManager.c Refactored key handlers.
ScreenManager.h major header cleanup
Settings.c Merge fixes
Settings.h Merge fixes
SignalsPanel.c Changes in object model: separate class objects to store vtable. Also…
SignalsPanel.h Changes in object model: separate class objects to store vtable. Also…
String.c Test realloc failure to make cppcheck happy
String.h There was a bug in my implementaion. No reason not to use the glibc v…
SwapMeter.c change swap to M for consistency. Closes #63.
SwapMeter.h Changes in object model: separate class objects to store vtable. Also…
TasksMeter.c BUGFIX: Fix crash when adding meters and toggling detailed CPU time.
TasksMeter.h Changes in object model: separate class objects to store vtable. Also…
TraceScreen.c safer code, test for return of fcntl
TraceScreen.h search and filter for the strace and lsof screens!
UptimeMeter.c Make UptimeMeter cross-platform again.
UptimeMeter.h Move UptimeMeter back into cross-platform code.
UsersTable.c major header cleanup
UsersTable.h major header cleanup
Vector.c shorten scope of variable.
Vector.h Changes in object model: separate class objects to store vtable. Also…
autogen.sh This seems necessary.
configure.ac Oops, remove test code committed by accident.
htop.1.in Tempus fugit.
htop.c Do not trust isalpha(c) for values > 255.
htop.desktop * corrections to the desktop entry file
htop.h Tempus fugit.
htop.png Updated icon!
test_spec.lua 78.8% test coverage!

README.md

htop

by Hisham Muhammad hisham@gobolinux.org

May, 2004 - January, 2014

Note

Alert Mac users, click here! The htop version you are using is a 5-year old fork -- help bring htop 1.x to the Mac!

Introduction

This is htop, an interactive process viewer. It requires ncurses. It is tested with Linux 2.6, but is also reported to work (and was originally developed) with the 2.4 series.

Note that, while, htop is Linux specific -- it is based on the Linux /proc filesystem -- it is also reported to work with FreeBSD systems featuring a Linux-compatible /proc. This is, however, unsupported. Contact the packager for your system when reporting problems on platforms other than Linux.

This software has evolved considerably during the last years, and is reasonably complete, but there is still room for improvement. Read the TODO file to see what's known to be missing.

Comparison between 'htop' and '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, but you are probably used to the common ./configure/make/make install routine.

When fetching the code from the development repository, you need to run the ./autogen.sh script, which in turn requires autotools to be installed.

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.

Something went wrong with that request. Please try again.