ps-watcher periodically a gets a list of process names via ps. A configuration file specifies a list of Perl regular-expression patterns to match the processes against. For each match, a Perl expression specified for that pattern is evaluated. The evaluated expression can refer to variables which are set by ps and pertain to the matched process(es), including the amount memory consumed by the process, or the total elapsed time. If the Perl expression for a matched pattern evaluates true, then an action can be run such as killing the program, restarting it, or mailing an alert.
xps dynamically displays in an X Window the Unix processes as a tree or forest, the roots on the left and the leaf processes on the right. The status of each process (running, sleeping, stopped, etc.) can be indicated by a color. Different users appear as different colors. Process selection can be made per user, all users or through a regular expression pattern. A process can be selected to show ps information or to send the process a signal.
Gnopstree is a GNOME application that dynamically displays the currently running Unix processes as a tree or forest, with the roots on the left and the leaf processes (with no children) on the right. The status of each process (running, sleeping, stopped, etc.) can be indicated by a color. This is a port of xps to GNOME/GTK.
The GNU Compact Disc Input and Control library encapsulates CD-ROM reading and control for applications wishing to be oblivious to the OS- and device-dependent properties of a CD-ROM. It provides an API for access to SCSI-MMC (multimedia commands) and support for CD image types like BIN/CUE, cdrdao's TOC, and Nero's NRG, which gives applications using the library the ability to read disc images as though they were CDs. ISO-9660 filesystem support is included, as are utility programs for displaying CD and CD-ROM drive information, reading the blocks of a CD, and extracting files from an ISO-9660 filesytem image. cdparanoia is also included.
fs-check checks filesystem sizes to see if they are getting too full. It uses a configuration file that specifies the filesystems to check, email contacts, trigger thresholds (percentage or amount used/unused), and a report program to run. It includes fs-report, which shows things like the largest files, the newest files, the intersection of these and core files. It can be run from cron or as a daemon.
remake is a patched and modernized version of GNU make utility that adds improved error reporting, the ability to trace execution in a comprehensible way, and a debugger. The debugger lets you set breakpoints on targets, show and set variables in expanded or unexpanded form, inspect target descriptions, see the target call stack, and even execute arbitrary GNU make fragments (e.g. add a dependency to an existing target).
Extended Python Debugger is a more complete debugger for Python than the stock pdb.py debugger. It supports, among numerous other things, debugging threads, non-interactive POSIX-like line tracing, command options, disassembly of instructions, and stack traces that give better information for exec statements. Stepping/nexting by default skips over method/function "defs". It tries to follow gdb's command set unless there is good reason not to.
In this release gdb-like debugger "kill", "condition" and "set-inferior tty" commands were added; help text was improved and more unit, and integration testing are now performed.
The Bash shell contains no debugger, nor even any debugging-specific commands or constructs?
Chapter 29. Debugging starts out:
The Bash shell contains no debugger, nor even any debugging-specific commands or constructs.
This sentence has long been overly unfair. When I contacted the author about this a long time ago, he eventually added what I think was a niggardly footnote about my debugger partially making up for this lack.
In the past, I just chalked this comment up to inattentiveness of the author with respect to keeping the document up to date, (and possibly some ignorance) and feeling that perhaps the document was geared to the vast number possible people using BASH before version 2.05b.
But version 2.05b which came out over 4 years ago and this document has since undergone several revisions.
Bash 2.05b changed the semantics of TRAP DEBUG to run before a statement rather than after as happens in the other TRAP statements. That change was made to specifically support debugging.
My patched version of 2.05b also added a number of other of things specifically to add debugging support and/or better error reporting. These were incorporated into version 3.0 which came out over 2 years ago.
So if you look at the changes since 2.05a in the NEWS file that comes with BASH, you'll see a number of changes specifically to support debugging.
It is also a bit ironic that later revisions to this section of the scripting guide make use of TRAP DEBUG, and caller() while still maintaining at the outset that there are no such debugging-specific commands.
At the end of the debugging section is a box that reads "Version 3 of Bash adds the following special variables for use by the debugger". But gee, didn't we say there was no debugger? Anyway, that box is missing FUNCNAME.
For that Bash debugger which "partially makes up for this lack", see the bash debugger homepage (http://bashdb.sf.net) or the bash debugger documentation (http://bashdb.sourceforge.net/bashdb.html).