Htop

Last updated
htop
Original author(s) Hisham Muhammad
Developer(s) Hisham Muhammad (2004-2019)
htop developer team (2020-present)
Initial releaseMay 2004;20 years ago (2004-05) [1]
Stable release
3.3.0 [2]   OOjs UI icon edit-ltr-progressive.svg / 10 January 2024
Repository
Written in C (ncurses library)
Operating system Linux, macOS, FreeBSD, OpenBSD, Solaris, Illumos, OpenIndiana
Type Process Viewer / System monitor
License GPL-2.0-or-later
Website htop.dev

htop is an interactive system monitor process viewer and process manager. It is designed as an alternative to the Unix program top.

Contents

It shows a frequently updated list of the processes running on a computer, normally ordered by the amount of CPU usage. Unlike top, htop provides a full list of processes running, instead of the top resource-consuming processes. htop uses color and gives visual information about processor, swap and memory status. htop can also display the processes as a tree.

Users often deploy htop in cases where Unix top does not provide enough information about the system's processes. htop is also popularly used interactively as a system monitor. [3] Compared to top, it provides a more convenient, visual, cursor-controlled interface for sending signals to processes.

htop is written in the C programming language using the ncurses library. Its name is derived from the original author's first name, as a nod to pinfo, [4] an info-replacement program that does the same. [5]

Because system monitoring interfaces are not standardized among Unix-like operating systems, much of htop's code must be rewritten for each operating system. Cross-platform, OpenBSD, FreeBSD and Mac OS X support was added in htop 2.0. [6] [7] Solaris/Illumos/OpenIndiana support was added in 2.2.0.

htop was forked by several developers as htop-dev, [8] and with support from the original author, the homepage was later redirected to a new domain. [9]

See also

Related Research Articles

<span class="mw-page-title-main">KornShell</span> Bourne shell backward compatible Unix shell created by David Korn

KornShell (ksh) is a Unix shell which was developed by David Korn at Bell Labs in the early 1980s and announced at USENIX on July 14, 1983. The initial development was based on Bourne shell source code. Other early contributors were Bell Labs developers Mike Veach and Pat Sullivan, who wrote the Emacs and vi-style line editing modes' code, respectively. KornShell is backward-compatible with the Bourne shell and includes many features of the C shell, inspired by the requests of Bell Labs users.

The Open Sound System (OSS) is an interface for making and capturing sound in Unix and Unix-like operating systems. It is based on standard Unix devices system calls. The term also sometimes refers to the software in a Unix kernel that provides the OSS interface; it can be thought of as a device driver for sound controller hardware. The goal of OSS is to allow the writing of sound-based applications that are agnostic of the underlying sound hardware.

<span class="mw-page-title-main">Load (computing)</span> Amount of computational work that a computer system performs

In UNIX computing, the system load is a measure of the amount of computational work that a computer system performs. The load average represents the average system load over a period of time. It conventionally appears in the form of three numbers which represent the system load during the last one-, five-, and fifteen-minute periods.

In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software. The term often implies not merely a development branch, but also a split in the developer community; as such, it is a form of schism. Grounds for forking are varying user preferences and stagnated or discontinued development of the original software.

The GNU C Library, commonly known as glibc, is the GNU Project implementation of the C standard library. It provides a wrapper around the system calls of the Linux kernel and other kernels for application use. Despite its name, it now also directly supports C++. It was started in the 1980s by the Free Software Foundation (FSF) for the GNU operating system.

chroot Operation that changes the apparent root directory in Unix-like systems

chroot is an operation on Unix and Unix-like operating systems that changes the apparent root directory for the current running process and its children. A program that is run in such a modified environment cannot name files outside the designated directory tree. The term "chroot" may refer to the chroot(2) system call or the chroot(8) wrapper program. The modified environment is called a chroot jail.

<span class="mw-page-title-main">XNU</span> Computer operating system kernel

XNU is the computer operating system (OS) kernel developed at Apple Inc. since December 1996 for use in the Mac OS X operating system and released as free and open-source software as part of the Darwin OS, which, in addition to being the basis for macOS, is also the basis for Apple TV Software, iOS, iPadOS, watchOS, visionOS, and tvOS.

<span class="mw-page-title-main">Pseudoterminal</span> Pair of pseudo-device endpoints

In some operating systems, including Unix-like systems, a pseudoterminal, pseudotty, or PTY is a pair of pseudo-device endpoints (files) which establish asynchronous, bidirectional communication (IPC) channel between two or more processes.

<span class="mw-page-title-main">/dev/random</span> Pseudorandom number generator file in Unix-like operating systems

In Unix-like operating systems, /dev/random and /dev/urandom are special files that serve as cryptographically secure pseudorandom number generators (CSPRNGs). They allow access to a CSPRNG that is seeded with entropy from environmental noise, collected from device drivers and other sources. /dev/random typically blocked if there was less entropy available than requested; more recently it usually blocks at startup until sufficient entropy has been gathered, then unblocks permanently. The /dev/urandom device typically was never a blocking device, even if the pseudorandom number generator seed was not fully initialized with entropy since boot. Not all operating systems implement the same methods for /dev/random and /dev/urandom.

In Unix and Unix-like operating systems, iconv is a command-line program and a standardized application programming interface (API) used to convert between different character encodings. "It can convert from any of these encodings to any other, through Unicode conversion."

Filesystem in Userspace (FUSE) is a software interface for Unix and Unix-like computer operating systems that lets non-privileged users create their own file systems without editing kernel code. This is achieved by running file system code in user space while the FUSE module provides only a bridge to the actual kernel interfaces.

<span class="mw-page-title-main">Kernel-based Virtual Machine</span> Virtualization module in the Linux kernel

Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the kernel to function as a hypervisor. It was merged into the mainline Linux kernel in version 2.6.20, which was released on February 5, 2007. KVM requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V. KVM has also been ported to other operating systems such as FreeBSD and illumos in the form of loadable kernel modules.

<span class="mw-page-title-main">KDE System Guard</span> System monitor for KDE desktop environment

KDE System Guard, also known as KSysGuard, was the task manager and performance monitor for the KDE platform on Unix-like systems. It can monitor both local and remote hosts, accomplished via running ksysguardd on the remote host, and having the GUI (ksysguard) connect to the remote instance. It can retrieve simple values or complex data such as tables and display this information in a variety of graphical displays. Displays can then be organized in work sheets. It also provides a detailed top-like process table.

<span class="mw-page-title-main">Arora (web browser)</span> Free and open-source web browser

Arora is a discontinued free and open-source web browser developed by Benjamin C. Meyer. It was available for Linux, Mac OS X, Windows, FreeBSD, OS/2, Haiku, Genode, and any other operating system supported by the Qt toolkit. The browser's features included tabbed browsing, bookmarks, browsing history, smart location bar, OpenSearch, session management, privacy mode, a download manager, WebInspector, and AdBlock.

systemd Suite of system components for Linux

systemd is a software suite that provides an array of system components for Linux operating systems. The main aim is to unify service configuration and behavior across Linux distributions. Its primary component is a "system and service manager" — an init system used to bootstrap user space and manage user processes. It also provides replacements for various daemons and utilities, including device management, login management, network connection management, and event logging. The name systemd adheres to the Unix convention of naming daemons by appending the letter d. It also plays on the term "System D", which refers to a person's ability to adapt quickly and improvise to solve problems.

A terminal multiplexer is a software application that can be used to multiplex several separate pseudoterminal-based login sessions inside a single terminal display, terminal emulator window, PC/workstation system console, or remote login session, or to detach and reattach sessions from a terminal. It is useful for dealing with multiple programs from a command line interface, and for separating programs from the session of the Unix shell that started the program, particularly so a remote process continues running even when the user is disconnected.

mpv (media player) Free and open-source media player software

mpv is free and open-source media player software based on MPlayer, mplayer2 and FFmpeg. It runs on several operating systems, including Unix-like operating systems and Microsoft Windows, along with having an Android port called mpv-android. It is cross-platform, running on ARM, MIPS, PowerPC, RISC-V, s390x, x86/IA-32, x86-64, and some other by 3rd party.

<span class="mw-page-title-main">Borg (backup software)</span> Deduplicating backup program

Borg is deduplicating backup software for various Unix-like operating systems. Borg is notably included in the Debian, Fedora, and Arch repositories.

References

  1. "GitHub - htop-dev/htop at 80f344559bba331d6daa2c913005e7eefddcf075". GitHub.
  2. "Release 3.3.0". 10 January 2024. Retrieved 19 January 2024.
  3. "System Monitoring with htop". Archived from the original on 2018-06-18. Retrieved 2018-02-05.
  4. "Pinfo - A lynx-style info and man reader". Archived from the original on April 2, 2015. Retrieved November 24, 2014.
  5. "htop FAQ". Archived from the original on January 21, 2014. Retrieved 2012-06-15.
  6. "Going cross-platform: how htop was made portable - FOSDEM 2016". YouTube . 10 February 2016. Archived from the original on 2021-12-21. Retrieved 2016-12-30.
  7. "Htop - an interactive process viewer". Archived from the original on September 27, 2018. Retrieved September 27, 2018.
  8. "Htop forked to htop-dev, version 3.0.0 released with over 2 years of bug fixes and features | Lobsters". lobste.rs. Retrieved 2024-10-04.
  9. "hisham.hm/htop". Hisham Muhammad. Retrieved 2020-12-08.