ftsh - The Fault Tolerant Shell
Note: This page is no longer maintained.
The fault tolerant shell has moved to The University of Notre Dame
Overview
The Fault-Tolerant Shell (ftsh) is a small language for system
integration that makes failures a first class concept.
Ftsh aims to combine the ease of scripting with very precise
error semantics. It is especially useful in building
distributed systems, where failures are common, making timeouts,
retry, and alternation necessary techniques. For example:
try for 30 minutes
cd /tmp
rm -f data
forany host in xxx yyy zzz
wget http://${host}/fresh.data data
end
end
If any element of the script fails, all running process trees
are reliably cleaned up, and the block is tried again with an
exponential backoff.
You might think of this as exception handling
for scripts. To learn more, please read the
technical manual,
or a more philosophical paper.
Ftsh has built and run on Linux, Solaris, IRIX, and Cygwin.
Your mileage may vary.
Ftsh is released under the GNU General Public License. See the file COPYING for details.
Downloads
Documents
Mailing Lists
- ftsh-announce - a low-traffic list used solely for
announcements of software releases.
- ftsh-discuss - for general questions and discussion
about building and using ftsh.
Note: You must subscribe to a list before you are allowed to post to it.
To subscribe to one of the mailing lists,
send mail to majordomo@cs.wisc.edu with
"subscribe listname" in the body. For example, to subscribe
yourself to ftsh-announce, mail this to
majordomo@cs.wisc.edu:
subscribe ftsh-announce
News Items
Contact
Feel free to send questions, comments, and bug fixes to the ftsh-discuss mailing list.
(Note that you have to subscribe first.) Douglas Thain
also likes to get mail, but travels frequently and usually can't respond immediately.