Task monitor


Almost since the beginning of Unix time, Unix command-line tools have done very little to show their output. The bearded wisdom is that if you can't see any output from a command, then nothing has gone wrong, and you can assume whatever task you started has completed successfully. If you need error and success states, look for exit values and act accordingly. This principle actually works very well, and it would be lovely if it was adopted by modern technology, such as REST websites and convergent mobile apps. But it does leave you with some ambiguity over whether something is still running, and if it is, how long until you can go to bed and turn off your PC.

This is where progress can help. It works with many of the GNU core utilities that most of us take for granted. These core utilities include cp, mv, dd, tar, gzip/gunzip, cat, and many more. You simply run them alongside the progress command, either after the watch command to present a general overview of core utility commands or forked after the execution of one specific command. For example, you can monitor the progress of the humble copy command with

cp old.iso new.iso newfile & progress -mp $!

with progress outputting the copy percentages as it completes. This is useful if you're copying large data files to a slow USB storage device on the command line, such as from a Raspberry Pi. Because it's simply monitoring the /proc filesystem for inputs and outputs on commands it knows, progress then probes proc to discover the status of those commands. It's a simple solution, but it works well and can be used in a huge variety of tasks, from monitoring a file or web server to the download status of something you've clicked in Firefox.

Project Website

progress works with most core utility compliant commands on the Linux command line.


Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • FOSSPicks

    This month Graham fires up MuseScore 3.0, hexyl, weborf, Chrono, and several other useful Linux tools.

  • Gnome Fonts

    Linux’s text display still suffers from legacy issues, but it is well on the way to

    recovering. This article explains how Fontconfig, X, and Gnome work together for

    a brighter future.

  • Command Line – Font Conversion

    Perform trouble-free font conversions from the command line with an easy-to-use script.

  • FOSSPicks

    Ocenaudio 3.3.6, Otter Browser, Joplin, WeeChat 2.0, Mailspring, Siril 0.9.7, SuperTuxKart 0.9.3, and more!

  • FOSSPicks

    This month Graham previews PACE, liquidctl, Celestia, Ardour 6.0, Kotatogram, QElectroTech , Gorched, and more.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95