htop - an interactive process viewer
Go to file
Nathan Scott 500fb283e9 Resolve compiler warnings and errors relating to the Arg union
Promote the Arg union to a core data type in Object.c such
that it is visible everywhere (many source files need it),
and correct declarations of several functions that use it.

The Process_sendSignal function is also corrected to have
the expected return type (bool, not void) - an error being
masked by ignoring this not-quite-harmless warning.  I've
also added error checking to the kill(2) call here, which
was previously overlooked / missing (?).
2020-08-20 09:35:33 +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 Resolve compiler warnings and errors relating to the Arg union 2020-08-20 09:35:33 +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
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 Resolve compiler warnings and errors relating to the Arg union 2020-08-20 09:35:33 +10:00
Affinity.h Resolve compiler warnings and errors relating to the Arg union 2020-08-20 09:35:33 +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
AUTHORS Initial import. 2006-03-04 18:16:49 +00:00
autogen.sh Simplify autogen.sh 2016-02-14 22:36:40 +01: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
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
configure.ac Disable 'make dist' when pkg.m4 is unused in configure 2018-05-22 23:21:42 -03: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
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
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 Add danish translation to htop.desktop 2019-02-19 01:25:52 +01: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
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 Resolve compiler warnings and errors relating to the Arg union 2020-08-20 09:35:33 +10:00
MainPanel.h Resolve compiler warnings and errors relating to the Arg union 2020-08-20 09:35:33 +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 Resolve compiler warnings and errors relating to the Arg union 2020-08-20 09:35:33 +10:00
Object.h Resolve compiler warnings and errors relating to the Arg union 2020-08-20 09:35:33 +10:00
OpenFilesScreen.c Close pipe after lsof 2019-06-23 13:13:05 -04: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 Resolve compiler warnings and errors relating to the Arg union 2020-08-20 09:35:33 +10:00
Process.h Resolve compiler warnings and errors relating to the Arg union 2020-08-20 09:35:33 +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 Ensure result buffer termination in String_cat utility routine 2020-08-20 09:03:45 +10: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
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
test_spec.lua Fix typos, by @Gelma. 2016-08-30 12:37:31 -03:00
TESTPLAN Fix failing stuff. 2015-04-09 15:56:43 -03: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

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)