progress
Display progress for coreutils commands
TLDR
Show the progress of running coreutils
Monitor all running coreutils
Show the progress of running coreutils in quiet mode
Launch and monitor a single long-running command
Include an estimate of time remaining for completion
SYNOPSIS
progress [options] [pid...]
PARAMETERS
-m, --monitor
Monitor any new process as it starts within current console.
-q, --quiet
Suppresses error messages if processes cannot be found or accessed.
-s, --scan-once
Scans process list and exits after first scan.
-w, --watch
Watches process list and exits when no processes are found to monitor.
-c, --columns
Display output in columns instead of rows.
-d, --debug
Enables debugging output. Use multiple times for more verbosity.
-v, --version
Displays the version number and exits.
-h, --help
Displays help message and exits.
[pid...]
Specifies a list of process IDs to monitor.
DESCRIPTION
The progress
command is a Linux utility that displays the progress of ongoing coreutils commands (like cp, mv, dd, tar, gzip, etc.) running on the system. Instead of just waiting for a long-running operation to complete, progress
provides real-time information such as the percentage completed, estimated time remaining, throughput, and the source and destination files being processed. It does this by parsing the kernel's /proc
filesystem to gather information about the active processes and their I/O activity. This allows it to work without requiring any modifications to the commands being monitored. Progress
is a valuable tool for system administrators and users who need to understand the status of lengthy data operations.
CAVEATS
progress
relies on parsing the /proc
filesystem, which might have performance implications on systems with a very large number of processes. It may not accurately track the progress of all types of commands, particularly those that don't perform regular file I/O. It also requires appropriate permissions to access the necessary process information. Not all commands supported.
INSTALLATION
progress
is not always included by default on Linux distributions. It may need to be installed using the distribution's package manager (e.g., apt install progress
on Debian/Ubuntu, yum install progress
on CentOS/RHEL).
PERMISSIONS
To monitor processes owned by other users, progress
may require root privileges (run with sudo
). Otherwise, it will only be able to track processes owned by the current user.
HISTORY
progress
was originally developed to provide a more user-friendly way to monitor long-running tasks than traditional tools like top
or ps
. It gained popularity due to its ability to directly track the progress of common file operations. The command's development has focused on improving its accuracy, expanding the range of supported commands, and providing a more informative and user-friendly display.