htop - an interactive process viewer

htop logo

CI Coverity Scan Build Status Mailing List IRC #htop GitHub Release Packaging status License: GPL v2+

Screenshot of htop

Introduction

htop is a cross-platform interactive process viewer.

htop allows scrolling the list of processes vertically and horizontally to see their full command lines and related information like memory and CPU consumption. Also system wide information, like load average or swap usage, is shown.

The information displayed is configurable through a graphical setup and can be sorted and filtered interactively.

Tasks related to processes (e.g. killing and renicing) can be done without entering their PIDs.

Running htop requires ncurses libraries, typically named libncurses(w).

htop is written in C.

For more information and details visit htop.dev.

Build instructions

Prerequisite

List of build-time dependencies:

  • standard GNU autotools-based C toolchain
    • C99 compliant compiler
    • autoconf
    • autotools
  • ncurses

Note about ncurses:

htop requires ncurses 6.0. Be aware the appropriate package is sometimes still called libncurses5 (on Debian/Ubuntu). Also ncurses usually comes in two flavours:

  • With Unicode support.
  • Without Unicode support.

This is also something that is reflected in the package name on Debian/Ubuntu (via the additional 'w' - 'w'ide character support).

List of additional build-time dependencies (based on feature flags):

  • sensors
  • hwloc
  • libcap (v2.21 or later)
  • libnl-3

Install these and other required packages for C development from your package manager.

Debian/Ubuntu

sudo apt install libncursesw5-dev autotools-dev autoconf build-essential

Fedora/RHEL

sudo dnf install ncurses-devel automake autoconf gcc

Compile from source:

To compile from source, download from the Git repository (git clone or downloads from GitHub releases), then run:

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

Install

To install on the local system run make install. By default make install installs into /usr/local. To change this path use ./configure --prefix=/some/path.

Build Options

htop has several build-time options to enable/disable additional features.

Generic

  • --enable-unicode: enable Unicode support
    • dependency: libncursesw
    • default: yes
  • --enable-affinity: enable sched_setaffinity(2) and sched_getaffinity(2) for affinity support; conflicts with hwloc
    • default: check
  • --enable-hwloc: enable hwloc support for CPU affinity; disables affinity support
    • dependency: libhwloc
    • default: no
  • --enable-static: build a static htop binary; hwloc and delay accounting are not supported
    • default: no
  • --enable-debug: Enable asserts and internal sanity checks; implies a performance penalty
    • default: no

Performance Co-Pilot

  • --enable-pcp: enable Performance Co-Pilot support via a new pcp-htop utility
    • dependency: libpcp
    • default: no

Linux

  • --enable-sensors: enable libsensors(3) support for reading temperature data
    • dependencies: libsensors-dev(build-time), at runtime libsensors is loaded via dlopen(3) if available
    • default: check
  • --enable-capabilities: enable Linux capabilities support
    • dependency: libcap
    • default: check
  • --with-proc: location of a Linux-compatible proc filesystem
    • default: /proc
  • --enable-openvz: enable OpenVZ support
    • default: no
  • --enable-vserver: enable VServer support
    • default: no
  • --enable-ancient-vserver: enable ancient VServer support (implies --enable-vserver)
    • default: no
  • --enable-delayacct: enable Linux delay accounting support
    • dependencies: pkg-config(build-time), libnl-3 and libnl-genl-3
    • default: check

Runtime dependencies:

htop has a set of fixed minimum runtime dependencies, which is kept as minimal as possible:

  • ncurses libraries for terminal handling (wide character support).

Runtime optional dependencies:

htop has a set of fixed optional dependencies, depending on build/configure option used:

Linux

  • libdl, if not building a static binary, is always required when support for optional dependencies (i.e. libsensors, libsystemd) is present.
  • libcap, user-space interfaces to POSIX 1003.1e capabilities, is always required when --enable-capabilities was used to configure htop.
  • libsensors, readout of temperatures and CPU speeds, is optional even when --enable-sensors was used to configure htop.
  • libsystemd is optional when --enable-static was not used to configure htop. If building statically and libsystemd is not found by configure, support for the systemd meter is disabled entirely.

htop checks for the availability of the actual runtime libraries as htop runs.

BSD

On most BSD systems kvm is a requirement to read kernel information.

More information on required and optional dependencies can be found in configure.ac.

Usage

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

Support

If you have trouble running htop please consult your operating system / Linux distribution documentation for getting support and filing bugs.

Bugs, development feedback

We have a development mailing list. Feel free to subscribe for release announcements or asking questions on the development of htop.

You can also join our IRC channel #htop on Libera.Chat and talk to the developers there.

If you have found an issue within the source of htop, please check whether this has already been reported in our GitHub issue tracker. If not, please file a new issue describing the problem you have found, the potential location in the source code you are referring to and a possible fix if available.

History

htop was invented, developed and maintained by Hisham Muhammad from 2004 to 2019. His legacy repository has been archived to preserve the history.

In 2020 a team took over the development amicably and continues to maintain htop collaboratively.

License

GNU General Public License, version 2 (GPL-2.0) or, at your option, any later version.

Comments
  • Improving Command display/sort

    Improving Command display/sort

    Addresses https://github.com/htop-dev/htop/issues/40; Rebased from https://github.com/hishamhm/htop/pull/809; Originally discussed in https://github.com/hishamhm/htop/issues/801

    With inputs from @Explorer09, @BenBE, @marxin

    1. On Linux a process is able to modify its own command name (/proc/pid/comm) say using prctl, and its own command line (/proc/pid/cmdline) say by writing into its arguments vector. But /proc/[pid]/exe is set by the kernel and provides the definitive location of the executable image. While the Command column currently displays cmdline, for the above reason it is desirable to display the executable image path and command name, along with cmdline, merging them where possible.
    • In this pull request, two new optional columns are added: i) "Comm" - displays /proc/[pid]/comm if readable. It may not be readable for zombies. ii) "Exe" - displays 15 characters of the basename of /proc/[pid]/exe if readable. htop is able to read the /proc/[pid]/exe of ALL processes only when htop is either run with root privilleges (done with care) or given the capability CAP_SYS_PTRACE (sudo setcap 'cap_sys_ptrace=ep' /usr/bin/htop).

    • A new option is added: "Merge exe, comm and cmdline in Command", toggled by the key 'm' If this option is unset (default for backwards compatibility), Command column displays cmdline as usual. If this option is set, exe, comm and cmdline are merged in the Command column, which is to be interpreted as follows: i) If no token is colorized, it implies htop didn't have permission to read /proc/[pid]/exe of the process, and htop has fallen back to displaying only cmdline.

      ii) If a token (which may have embedded spaces) is colorized, upto 15 bytes of it is understood to be comm. This implies htop was able to read the process' /proc/[pid]/exe and /proc/[pid]/comm. During display, htop first tries to find/merge comm in exe's basename; If that fails and also if the new option 'Try to find comm in cmdline' is set (default), htop tries to find/merge comm in cmdline (this may mis-identify a string in cmdline in very rare cases, say if comm or cmdline had been unsuitably modified). a) If comm was not merged into either exe or cmdline, three fields are displayed (with "│" as the field separator), the first being exe, the second comm, and the last cmdline. b) If comm was merged into exe or cmdline: If exe could not be merged with cmdline, two fields are displayed, the first being exe and the last cmdline; c) Otherwise, exe and cmdline are merged into a single field.

    1. While htop currently sorts/filters the Command based always on cmdline, irrespective of whether it is full path or basename that is displayed, it is desirable to sort/filter based on what is displayed. After this change, Command is sorted/filtered based on what is displayed, whether it is exe or cmdline, full path or basename.

    2. Implementation notes:

    • Command Name (/proc/[pid]/comm) is displayed in a separate color (PROCESS_COMM)
    • LinuxProcess_getCommandStr to return the displayed string (rather than cmdline always)
    • When reading /proc/[pid]/cmdline, cmdline is concatenated with '\n' (instead of space) as delimiter; This helps when looking for comm in basenames of cmdline tokens with embedded spaces. Later during display in RichString_writeFrom, '\n' is translated into space. - LinuxProcess_writeCommand displays exe, comm, and cmdline as described above, retaining the existing options like basename display/highlighting
  • Add support for sorting in Tree mode

    Add support for sorting in Tree mode

    Hey bump into here by hacktoberfest :) I am exited doing something in such a well-known project.

    (I want to believe) It closes #237

    I hope it does what it expected to do but I would spend some time to verify it and test. And if there are any tests they may need to be updated.

    Thank you for the htop

  • Refactor makeCommandStr

    Refactor makeCommandStr

    This is some refactoring work for makeCommandStr to make this suitable for platform independent use.

    Changes include:

    • Move cmdline, comm and exe to platform-independent Process structure.
    • Move ProcessMergeCommand to platform-independent Process structure.
    • Move procExeDeleted to platform-independent Process structure.
    • Allow for individual activation/deactivation of highlighted components (basename, comm, deleted, separator, …)

    The current state is mostly some PoC and still WIP.

  • Graph meter coloring & dynamic scaling!

    Graph meter coloring & dynamic scaling!

    This work is by @Explorer09, see original pull request (https://github.com/hishamhm/htop/pull/487). I rebased to current master to prepare this pull request.

  • apply htop temperature patch

    apply htop temperature patch

    Closes #49.

    Example of TemperatureMeter using from comment below: изображение изображение изображение изображение

    Also should be working on Raspberry Pi and maybe other ARM devices, which report cpu_thermal zone to sensors command (tested on Arch Linux ARM).

  • htop 3.1.2 crashes on FreeBSD 14 (current, c 20220316, 2022402) while things are being compiled

    htop 3.1.2 crashes on FreeBSD 14 (current, c 20220316, 2022402) while things are being compiled

    htop 3.1.2 crashes after some time (every time) at least whenever something is being compiled on Framework laptop with Intel i5-1135G7 CPU & 32 GB RAM.

    Crash happened while ...

    • building world;
    • compiling ports/net/wifibox;
    • compiling ports/devel/binutils.

    uname -a FreeBSD luna 14.0-CURRENT FreeBSD 14.0-CURRENT #4 main-n254246-6833ac673d9: Sat Apr 2 15:37:22 HST 2022 [email protected]:/build/world/freebsd/src/amd64.amd64/sys/GENERIC-NODEBUG amd64

    Edited captured output via script(1) ...

    ... FATAL PROGRAM ERROR DETECTED

    Please check at https://htop.dev/issues whether this issue has already been reported. If no similar issue has been reported before, please create a new issue with the following information:

    • Your htop version: '3.1.2'
    • Your OS and kernel version (uname -a)
    • Your distribution and release (lsb_release -a)
    • Likely steps to reproduce (How did it happen?)
    • Backtrace of the issue (see below)

    Error information:

    A signal 6 (Abort trap) was received.

    Setting information:

    htop_version=3.1.2;config_reader_min_version=2;fields=48 3 0 46 47 39 49 20 53 6 18 2 99 1;sort_key=20;sort_direction=1;tree_sort_key=0;tree_sort_direction=1;hide_kernel_threads=1;hide_userland_threads=0;shadow_other_users=0;show_thread_names=0;show_program_path=1;highlight_base_name=1;highlight_deleted_exe=1;highlight_megabytes=1;highlight_threads=1;highlight_changes=0;highlight_changes_delay_secs=5;find_comm_in_cmdline=1;strip_exe_from_cmdline=1;show_merged_command=0;tree_view=0;tree_view_always_by_pid=0;all_branches_collapsed=0;header_margin=0;detailed_cpu_time=0;cpu_count_from_one=0;show_cpu_usage=1;show_cpu_frequency=1;show_cpu_temperature=0;degree_fahrenheit=0;update_process_names=0;account_guest_in_cpu_meter=0;color_scheme=6;enable_mouse=1;delay=15;hide_function_bar=0;header_layout=two_50_50;column_meters_0=LoadAverage AllCPUs2 MemorySwap ZFSCARC ZFSARC;column_meter_modes_0=2 1 1 2 2;column_meters_1=System Hostname Uptime DateTime Battery DiskIO NetworkIO;column_meter_modes_1=2 2 2 2 2 2 2;

    Backtrace information:

    0: 0x21c842 /usr/local/bin/htop (CRT_handleSIGSEGV+0x102) [0x21c842]
    1: 0x8270aa5a0 /lib/libthr.so.3 (_fini+0) [0x8270aa4d0]
    2: 0x8270a9b5f /lib/libthr.so.3 (_fini+0) [0x8270a9a20]
    3: 0x7ffffffff2d3 ? (+0) [0x7ffffffff2d0] {signal frame} 4: 0x82448edfa /lib/libc.so.7 (_fini+0) [0x82448edf0] {signal frame} 5: 0x8270a9a20 /lib/libthr.so.3 (_fini+0) [0x8270a9890]

    To make the above information more practical to work with, please also provide a disassembly of your htop binary. This can usually be done by running the following command:

    objdump -d -S -w which htop > ~/htop.objdump ...

    I will attach "objdump" output & backtrace. For future, is backtrace needed when "objdump" output is also provided?

    htop.objdump.txt htop.gdb.bt-full.txt

  • does not show temperature for last (4th) core

    does not show temperature for last (4th) core

    htop 3.0.3-1

    model name : Intel(R) Celeron(R) CPU N3160 @ 1.60GHz

    sensors:

    Core 0:       +40.0°C  (high = +90.0°C, crit = +90.0°C)
    Core 1:       +41.0°C  (high = +90.0°C, crit = +90.0°C)
    Core 2:       +36.0°C  (high = +90.0°C, crit = +90.0°C)
    Core 3:       +43.0°C  (high = +90.0°C, crit = +90.0°C)
    

    htop:

      1[||||||                 4.8%  800MHz 41°C]   3[                           0.0%  655MHz 36°C]
      2[||||||||               8.3%  802MHz 36°C]   4[||||||||||                 10.7%  656MHz N/A]
    
  • bring back the regular checkmarks

    bring back the regular checkmarks

    pls its great and all this is still maintained, but I dont enjoy things becoming less readable. you could argue here "use a better font" but htop is used in a lot of minimal installs that might be lacking all and any fancy glyphs, which is why the old method of checkmarks is used in nearly every cli program

  • PCP: Dynamic columns

    PCP: Dynamic columns

    Implements support for arbitrary Performance Co-Pilot metrics with per-process instance domains to form new htop columns. The column-to-metric mappings are setup using configuration files which will be documented via man pages as part of a follow-up commit.

    We provide an initial set of column configurations so as to provide new capabilities to pcp-htop: including configs for containers, open fd counts, scheduler run queue time, tcp/udp bytes/calls sent/recv, delay acct, virtual machine guests, detailed virtual memory, swap.

    Note there is a change to the configuration file path resolution algorithm introduced for 'dynamic meters'. First, look in any custom PCP_HTOP_DIR location. Then iterate, in priority order, users home directory, then local sysadmins files in /etc/pcp/htop, then readonly configuration files below /usr/share/pcp/htop. This final location becomes the preferred place for our own shipped meter and column files.

    The Settings file (htoprc) writing code is updated to not using the numeric identifier for dynamic columns. The same strategy used for dynamic meters is used here where we write Dynamic(name) so the name can be setup once more at start. Regular (static) columns writing to htoprc - i.e. numerically indexed - is unchanged.

  • Add NetBSD support in htop(1)

    Add NetBSD support in htop(1)

    This implementation makes NetBSD use htop(1) without the need of mount_procfs(8).

    The implementation has been copied over and modified from the OpenBSD implementation in htop(1).

    Make NetBSD no longer masquerade as Linux.

  • [#480] SysarchMeter to view kernel version/arch info

    [#480] SysarchMeter to view kernel version/arch info

    SysarchMeter calls the uname function to obtain the kernel version and architecture in a utsname variable. If the version data of the utsname is not empty, the distro version is also printed.

    SysarchMeter follows the style of

    • HostnameMeter (uses the same attributes) and
    • DiskIOMeter (uses snprintf to print to buffer).

    Used astyle -r -xb -s3 -p -xg -c -k1 -W1 \*.c \*.h to format the two newly added files.

    Sample Screenshot: Screenshot from 2021-01-27 15-27-00

  • Add option to hide processes running in a container

    Add option to hide processes running in a container

    Might close #1036

    The patch makes use of NSpid to check whether a process runs inside a pid namespace that is different from the host's init process' pid namespace. If this check is true, the cgroup name is checked to ensure it isn't a process running on the host that happens to run in a different pid namespace.

  • Feature request: Integrate fail2ban

    Feature request: Integrate fail2ban

    Display failed authentications counter since last successful login and IP counter in jail

    In my opinion this could be a useful metric for server administration.

  • Feature request: monitor disk free

    Feature request: monitor disk free

    I would welcome htop to be able to display current output of df -h / as a meter (with possibility for a meter for each additional mount points), and a meter that would display output of df -h --total / | tail -n 1 (total disk usage).

    Although this information is not very ram/process-bound, it might be beneficial to have this information in one place without having to leave htop for df/neofetch commands, and could be vital to monitoring processes with erratic disk usage (e.g. graphic imaging/cad programs using scratch disks)

  • get error when configure with --enable-static

    get error when configure with --enable-static

    [[email protected] htop-3.2.1]# dnf install ncurses-devel automake autoconf gcc
    Last metadata expiration check: 0:36:11 ago on Wed 13 Jul 2022 03:36:33 PM CST.
    Package ncurses-devel-6.1-9.20180224.el8.x86_64 is already installed.
    Package automake-1.16.1-7.el8.noarch is already installed.
    Package autoconf-2.69-29.el8.noarch is already installed.
    Package gcc-8.5.0-10.1.el8_6.x86_64 is already installed.
    Dependencies resolved.
    Nothing to do.
    Complete!
    
    [[email protected] htop-3.2.1]# ./configure --enable-static
    checking build system type... x86_64-pc-linux-gnu
    checking host system type... x86_64-pc-linux-gnu
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    checking whether make supports the include directive... yes (GNU style)
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking whether gcc understands -c and -o together... yes
    checking dependency style of gcc... gcc3
    checking how to run the C preprocessor... gcc -E
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking minix/config.h usability... no
    checking minix/config.h presence... no
    checking for minix/config.h... no
    checking whether it is safe to define __EXTENSIONS__... yes
    checking for gcc... (cached) gcc
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether gcc accepts -g... (cached) yes
    checking for gcc option to accept ISO C89... (cached) none needed
    checking whether gcc understands -c and -o together... (cached) yes
    checking dependency style of gcc... (cached) gcc3
    checking for gcc option to accept ISO C99... none needed
    checking for dirent.h that defines DIR... yes
    checking for library containing opendir... no
    checking for ANSI C header files... (cached) yes
    checking for stdlib.h... (cached) yes
    checking for string.h... (cached) yes
    checking for strings.h... (cached) yes
    checking sys/param.h usability... yes
    checking sys/param.h presence... yes
    checking for sys/param.h... yes
    checking sys/time.h usability... yes
    checking sys/time.h presence... yes
    checking for sys/time.h... yes
    checking sys/utsname.h usability... yes
    checking sys/utsname.h presence... yes
    checking for sys/utsname.h... yes
    checking for unistd.h... (cached) yes
    checking whether sys/types.h defines makedev... no
    checking sys/mkdev.h usability... no
    checking sys/mkdev.h presence... no
    checking for sys/mkdev.h... no
    checking sys/sysmacros.h usability... yes
    checking sys/sysmacros.h presence... yes
    checking for sys/sysmacros.h... yes
    checking for sys/sysmacros.h... (cached) yes
    checking execinfo.h usability... yes
    checking execinfo.h presence... yes
    checking for execinfo.h... yes
    checking for pid_t... yes
    checking for uid_t in sys/types.h... yes
    checking for uint8_t... yes
    checking for uint16_t... yes
    checking for uint32_t... yes
    checking for uint64_t... yes
    checking for alloc_size... yes
    checking for NaN support... no
    configure: WARNING: Compiler does not respect NaN, some functionality might break; consider using '-fno-finite-math-only'
    checking for ceil in -lm... no
    configure: error: can not find required function ceil()
    [[email protected] htop-3.2.1]#
    

    but it can be completed without --enable-static .

    [[email protected] htop-3.2.1]# ./configure
    checking build system type... x86_64-pc-linux-gnu
    checking host system type... x86_64-pc-linux-gnu
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
    checking for gawk... gawk
    checking whether make sets $(MAKE)... yes
    checking whether make supports nested variables... yes
    checking whether make supports the include directive... yes (GNU style)
    checking for gcc... gcc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether gcc accepts -g... yes
    checking for gcc option to accept ISO C89... none needed
    checking whether gcc understands -c and -o together... yes
    checking dependency style of gcc... gcc3
    checking how to run the C preprocessor... gcc -E
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking minix/config.h usability... no
    checking minix/config.h presence... no
    checking for minix/config.h... no
    checking whether it is safe to define __EXTENSIONS__... yes
    checking for gcc... (cached) gcc
    checking whether we are using the GNU C compiler... (cached) yes
    checking whether gcc accepts -g... (cached) yes
    checking for gcc option to accept ISO C89... (cached) none needed
    checking whether gcc understands -c and -o together... (cached) yes
    checking dependency style of gcc... (cached) gcc3
    checking for gcc option to accept ISO C99... none needed
    checking for dirent.h that defines DIR... yes
    checking for library containing opendir... none required
    checking for ANSI C header files... (cached) yes
    checking for stdlib.h... (cached) yes
    checking for string.h... (cached) yes
    checking for strings.h... (cached) yes
    checking sys/param.h usability... yes
    checking sys/param.h presence... yes
    checking for sys/param.h... yes
    checking sys/time.h usability... yes
    checking sys/time.h presence... yes
    checking for sys/time.h... yes
    checking sys/utsname.h usability... yes
    checking sys/utsname.h presence... yes
    checking for sys/utsname.h... yes
    checking for unistd.h... (cached) yes
    checking whether sys/types.h defines makedev... no
    checking sys/mkdev.h usability... no
    checking sys/mkdev.h presence... no
    checking for sys/mkdev.h... no
    checking sys/sysmacros.h usability... yes
    checking sys/sysmacros.h presence... yes
    checking for sys/sysmacros.h... yes
    checking for sys/sysmacros.h... (cached) yes
    checking execinfo.h usability... yes
    checking execinfo.h presence... yes
    checking for execinfo.h... yes
    checking for pid_t... yes
    checking for uid_t in sys/types.h... yes
    checking for uint8_t... yes
    checking for uint16_t... yes
    checking for uint32_t... yes
    checking for uint64_t... yes
    checking for alloc_size... yes
    checking for NaN support... yes
    checking for ceil in -lm... yes
    checking for library containing dlopen... -ldl
    checking for library containing clock_gettime... none required
    checking for clock_gettime... yes
    checking for dladdr... yes
    checking for faccessat... yes
    checking for fstatat... yes
    checking for host_get_clock_service... no
    checking for memfd_create... yes
    checking for openat... yes
    checking for readlinkat... yes
    checking for waddwstr in -lncursesw6... no
    checking for waddwstr in -lncursesw... yes
    checking ncursesw/curses.h usability... yes
    checking ncursesw/curses.h presence... yes
    checking for ncursesw/curses.h... yes
    checking for library containing keypad... none required
    checking for set_escdelay... yes
    checking for getmouse... yes
    checking for usable sched_setaffinity... yes
    checking for backtrace in -lunwind... no
    checking libunwind.h usability... no
    checking libunwind.h presence... no
    checking for libunwind.h... no
    checking libunwind/libunwind.h usability... no
    checking libunwind/libunwind.h presence... no
    checking for libunwind/libunwind.h... no
    checking for library containing backtrace... none required
    checking for cap_init in -lcap... no
    checking sys/capability.h usability... no
    checking sys/capability.h presence... no
    checking for sys/capability.h... no
    checking for pkg-config... /usr/bin/pkg-config
    checking pkg-config is at least version 0.9.0... yes
    checking for LIBNL3... no
    checking for LIBNL3GENL... no
    checking sensors/sensors.h usability... no
    checking sensors/sensors.h presence... no
    checking for sensors/sensors.h... no
    checking whether C compiler accepts -Wextra-semi-stmt... no
    checking whether C compiler accepts -Wimplicit-int-conversion... no
    checking whether C compiler accepts -Wnull-dereference... yes
    checking that generated files are newer than configure... done
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating htop.1
    config.status: creating config.h
    config.status: config.h is unchanged
    config.status: executing depfiles commands
    
      htop 3.2.1
    
      platform:                  linux
      os-release file:           /etc/os-release
      (Linux) proc directory:    /proc
      (Linux) openvz:            no
      (Linux) vserver:           no
      (Linux) ancient vserver:   no
      (Linux) delay accounting:  no
      (Linux) sensors:           no
      (Linux) capabilities:      no
      unicode:                   yes
      affinity:                  yes
      unwind:                    no
      hwloc:                     no
      debug:                     no
      static:                    no
    
    [[email protected] htop-3.2.1]#
    
  • Update readme for building.

    Update readme for building.

    The readme currently says

    sensors
    hwloc
    libcap (v2.21 or later)
    libnl-3
    

    , but it should say libsensors4-dev, libhwloc-dev, libcap-dev, and libnl-3-dev

Process Ghosting - a PE injection technique, similar to Process Doppelgänging, but using a delete-pending file instead of a transacted file
Process Ghosting - a PE injection technique, similar to Process Doppelgänging, but using a delete-pending file instead of a transacted file

Process Ghosting This is my implementation of the technique presented by Gabriel Landau: https://www.elastic.co/blog/process-ghosting-a-new-executable

Aug 7, 2022
EarlyBird process hollowing technique (BOF) - Spawns a process in a suspended state, inject shellcode, hijack main thread with APC, and execute shellcode
EarlyBird process hollowing technique (BOF) - Spawns a process in a suspended state, inject shellcode, hijack main thread with APC, and execute shellcode

HOLLOW - Cobalt Strike BOF Authors: Bobby Cooke (@0xBoku) Justin Hamilton (@JTHam0) Octavio Paguaga (@OakTree__) Matt Kingstone (@n00bRage) Beacon Obj

Aug 12, 2022
per - Simple unix permission viewer and converter

Per is a simple utility that can verbosely print unix permissions and convert between symbolic and numeric notations and vice-versa.

Feb 27, 2022
Gauss Stylization - Interactive tool for normal driven stylization

Interactive tool for normal driven stylization. A set of preferred normals can be chosen arbitrarily from the Gauss sphere, including semi-discrete sets to model preference for cylinder- or cone-like shapes.

Mar 9, 2022
Unix pager (with very rich functionality) designed for work with tables. Designed for PostgreSQL, but MySQL is supported too. Works well with pgcli too. Can be used as CSV or TSV viewer too. It supports searching, selecting rows, columns, or block and export selected area to clipboard.
Unix pager (with very rich functionality) designed for work with tables. Designed for PostgreSQL, but MySQL is supported too. Works well with pgcli too. Can be used as CSV or TSV viewer too. It supports searching, selecting rows, columns, or block and export selected area to clipboard.

Unix pager (with very rich functionality) designed for work with tables. Designed for PostgreSQL, but MySQL is supported too. Works well with pgcli too. Can be used as CSV or TSV viewer too. It supports searching, selecting rows, columns, or block and export selected area to clipboard.

Aug 7, 2022
DICOM images and volumes viewer with advanced processing infrastructure (WPF, ITK, VTK)

DicomViewer DICOM images and volumes viewer with advanced processing infrastructure Stack: WPF (C#) ITK (C++) VTK (C++) Structure: DicomViewer - WPF a

Jul 1, 2022
SFML-based Mandelbrot viewer program
SFML-based Mandelbrot viewer program

mandelbrot SFML-based Mandelbrot viewer program. Dependencies CMake 3.16 C++17 SFML 2.5 Building cmake -B build -DCMAKE_BUILD_TYPE=Release cmake --bui

May 14, 2022
An image viewer for 9front

An image viewer for 9front

Nov 30, 2021
My_Shell is a user-defined interactive shell written in C that works similar to the original shell in linux

MY_SHELL Overview My_Shell is a user-defined interactive shell written in C that works similar to the original shell and it can execeute many of the l

Nov 22, 2021
QOI image viewer on top of the Sokol headers

qoiview A simple .qoi image file viewer on top of the sokol headers. QOI: https://github.com/phoboslab/qoi Sokol: https://github.com/floooh/sokol WASM

Aug 7, 2022
Second life for famous JPEGView - fast and tiny viewer/editor for JPEG, BMP, PNG, WEBP, TGA, GIF and TIFF images with a minimalist GUI and base image processing.
Second life for famous JPEGView - fast and tiny viewer/editor for JPEG, BMP, PNG, WEBP, TGA, GIF and TIFF images with a minimalist GUI and base image processing.

JPEGView-Image-Viewer-and-Editor Updated Dec 07 2021. Version 1.1.1.0 has been released. Download link1, link2 added. Second life for famous JPEGView

Aug 5, 2022
This repository provides the implementation of a ADC real-time viewer for an analog sound sensor.

Real-time sound analysing using microcontroller FRDM-KL25Z Acest cod este realizat pentru o platforma autonoma realizata cu kitul de la NXP care are r

Jan 20, 2022
Sourcetrail - free and open-source interactive source explorer
Sourcetrail - free and open-source interactive source explorer

Sourcetrail Important Note: This project was archived by the original autors and maintainers of Sourcetrail by the end of 2021. If you want to know mo

Aug 12, 2022
This is a dithered photo viewer.
This is a dithered photo viewer.

M5Stack M5Paper: Photo viewer This is a dithered photo viewer for the M5Stack M5Paper device. It's capable of drawing 960x540 resolution pictures in 1

Apr 15, 2022
Level viewer for Super Mario Maker 2, based on JiXiaomai's work

Toost Level viewer for Super Mario Maker 2, based on JiXiaomai's work How to build If building for desktop, obtain development files for sdl2, glew, g

Aug 4, 2022
Tuibox - A single-header terminal UI (TUI) library, capable of creating mouse-driven, interactive applications on the command line.
Tuibox - A single-header terminal UI (TUI) library, capable of creating mouse-driven, interactive applications on the command line.

tuibox tuibox ("toybox") is a single-header terminal UI library, capable of creating mouse-driven, interactive applications on the command line. It is

Aug 15, 2022
Read-Compile-Run-Loop: tiny and powerful interactive C++ compiler (REPL)

Read-Compile-Run-Loop: tiny and powerful interactive C++ compiler (REPL) RCRL is a tiny engine for interactive C++ compilation and execution (implemen

Jul 5, 2022
Registry viewer, editor and profile saver
Registry viewer, editor and profile saver

Registry Profiler This app allows certain registry values like the ones for brightness & volume to change and saved into profiles. The first menu give

Feb 6, 2022
F3D - Fast and minimalist 3D viewer
 F3D - Fast and minimalist 3D viewer

F3D - Fast and minimalist 3D viewer By Michael Migliore and Mathieu Westphal. F3D (pronounced /fɛd/) is a VTK-based 3D viewer following the KISS princ

Aug 13, 2022