fdtools is a set of utilities for working with file descriptors. With these tools, you can examine and manipulate file descriptor properties from shell scripts, where without them you might have resorted to a different language. These tools can rewind file descriptors, switch them between blocking and nonblocking mode, and examine their inode information. On some systems (currently only Linux, as far as I know) they can also allocate, lock, and switch virtual consoles.
This package is discussed on the prjware list. New releases are announced on the prjware-announce list.
fdtools is devoid of warranty and is distributed under the GNU General Public License, version 2. But that doesn't mean it's necessarily a good idea for you to distribute modified versions. (That includes repackaging.) I'd like to know if you plan to do that.
This link always points to the latest version (currently 2021.04.30).
Older versions are published for historical interest.
You can get the latest development sources with:
$ git clone git://git.dogmap.org/fdtools.git
To build fdtools, you need Laurent Bercot's
conf-compile/depend_* as necessary during
slashpackage is a good thing. You can
read more about it
here. If you don't already have
/package, create it (on any
filesystem you like, as long as it's accessible by the name
# mkdir -p /usr/local/package # ln -s /usr/local/package / # chmod +t /package/.
# sp-install fdtools-VERSION.tar.bz2
Or, if you like to do things manually, unpack the tarball and run
# cd /package # bunzip2 < /path/to/fdtools-VERSION.tar.bz2 | > tar -xpf - # cd misc/fdtools-VERSION # package/install
more detailed instructions.
grabconsoleprogram redirects console messages to a pseudoterminal.
multiteeprogram writes data from multiple inputs to multiple outputs.
pipecycleprogram runs a set of commands connected cyclically by pipes.
recvfdprogram receives file descriptors passed over a socket.
seek0program rewinds a file descriptor.
sendfdprogram passes file descriptors over a socket.
setblockprogram makes a file descriptor blocking or nonblocking.
setstateprogram modifies its process state and executes a given command.
statfileprogram sets environment variables according to a file's inode data and executes the given command.
vc-getprogram allocates a virtual console.
vc-lockprogram locks the console.
vc-switchprogram activates a given virtual console.