Generated by GPT-5-mini| procps | |
|---|---|
| Name | procps |
| Operating system | Linux |
| Genre | System utilities |
| License | GNU General Public License |
procps
procps is a collection of Linux utilities for monitoring and managing processes, memory, and system resources. It provides command-line tools that interact with the Linux kernel, procfs, and system calls to report runtime information commonly used by administrators and developers. The suite complements other Unix and GNU utilities used across distributions such as Debian, Ubuntu, Fedora, Red Hat Enterprise Linux, and Arch Linux.
The roots of procps trace to early Unix and Linux efforts to expose process information via procfs and to tools inspired by Unix predecessors like ps (Unix), top (software), and vmstat. Development was influenced by projects at institutions including GNU Project contributors and maintainers from distributions such as Debian Project and Red Hat. Over time, procps evolved alongside the Linux kernel through releases such as Linux kernel 2.4, Linux kernel 2.6, and later kernels, adapting to changes in procfs layout, control groups introduced by Google engineers and Linux kernel 2.6.24, and virtualization trends exemplified by Xen (virtual machine monitor) and KVM (kernel-based virtual machine). Contributors have included maintainers associated with organizations like Canonical (company), SUSE, and independent developers known within the Free Software community. The project responded to modern needs raised by cloud providers such as Amazon Web Services, Google Cloud Platform, and Microsoft Azure by ensuring compatibility with container runtimes from Docker (software) and orchestration systems like Kubernetes.
procps comprises several distinct programs, many of which are standard on Linux distributions. Notable components include: - ps — process listing aligned with commands like those found in System V, BSD, and utilities used by Solaris administrators. - top — an interactive real-time process viewer similar in role to htop and used by operators familiar with Nagios and Zabbix monitoring. - free — memory summary used by teams managing systems for Apache HTTP Server, Nginx, MySQL, PostgreSQL, and application stacks such as LAMP. - vmstat — virtual memory and I/O statistics used alongside tools like iostat and sar (Linux). - kill, skill — signal-sending utilities analogous to functions provided in glibc and scripting environments like Bash (Unix shell). - pgrep, pkill — pattern-based process lookup and signaling that integrate with automation tools like Ansible, Puppet, Chef (software), and SaltStack. - uptime — system load and uptime reporting useful for dashboards built with Grafana and Prometheus (software).
The suite reads from /proc and invokes syscall interfaces to present information on CPU, memory, swap, load averages, process trees, and per-process resource usage. It supports POSIX signals, interacts with cgroups for containerized environments, and provides output formats parsable by scripting languages such as Python (programming language), Perl, Ruby (programming language), and Go (programming language). procps utilities are designed to interoperate with system management tools like systemd, Upstart, and OpenRC, and to be used in conjunction with monitoring stacks featuring Collectd and Telegraf. Through flags and environment variables, commands enable automation in continuous integration systems such as Jenkins, GitLab CI/CD, and Travis CI.
Administrators and developers use procps commands in shell sessions, scripts, and automation playbooks. Common examples: - ps aux shows process listings for diagnosing services like sshd, docker-containerd, postgresql, and redis; results can be piped into awk (Unix), grep (Unix), or sed for filtering. - top or top -o %CPU provides live sorting for performance investigations during deployments of applications such as Tomcat, WildFly, Node.js, or Ruby on Rails. - free -h gives human-readable memory summaries when tuning systems for Elasticsearch, Cassandra (database), or MongoDB. - pgrep -u www-data php-fpm aids orchestration of web stacks used by projects like WordPress, Drupal, and Joomla. - pkill -f pattern can terminate runaway processes discovered during builds initiated by Maven or Gradle pipelines. - vmstat 1 5 helps correlate I/O waits for storage subsystems such as LVM, ZFS, and btrfs (filesystem) during backups coordinated with Bacula or rsync.
These utilities are commonly invoked in troubleshooting scenarios alongside networking tools like netstat, ss (socket statistics), and tcpdump and in performance analysis with profilers such as perf (Linux), Valgrind, and SystemTap.
procps is developed as free software under the GNU General Public License and maintained by contributors from various distributions and independent maintainers affiliated with projects like GNU Project and host infrastructures such as GitHub and GitLab. The codebase is primarily in C (programming language) with build systems using autotools or CMake across continuous integration services including CircleCI and distribution build pipelines from Debian infrastructure and Fedora Project buildsys. Contributions follow conventions familiar in open-source projects overseen by organizations like Open Source Initiative and are subject to review practices employed by communities around Kernel.org and major package maintainers in Linux distributions.