Projects / Libtubo Interprocess Communication

Libtubo Interprocess Communication

Libtubo Interprocess Communication is a small and simple library to run processes in the background and communicate via the stdout, stderr, and stdin file descriptors. The functionality of libtubo is similar to the glib function g_spawn_async_with_pipes(), except that all pipe setup and monitoring is taken care of. The calling function only has to provide the functions with which to process the input/output of the remote process. The library first appeared in the year 2000 in the xfce3 desktop as part of the xfsamba application, and is now available for use for other developers.

Operating Systems

Last announcement

OpenSUSE 12.3 rpms available 12 Oct 2013 22:29

OpenSUSE 12.3 SRPM, RPM and RPM-devel are now available at the download site.

Recent releases

  •  21 Dec 2013 03:31

    Release Notes: Named semaphores are now used in both Linux/BSD and Windows versions. Code to enable POSIX compliant semaphores (named and unnamed) under the mingw-w64 build chain is now included. This semaphore code is BSD licensed (unlike the rest of the libtubo code) and will be included in future releases until mingw-w64 enables POSIX compliant semaphores.

    •  31 Oct 2013 23:01

      Release Notes: This version now supports Windows (>=XP-sp1). A Tubo_exec() function was added for this functionality, but the function also works in Linux/BSD. Documentation needs to be updated, but that will have to wait until next release. Meanwhile, look into the tubo.h file to see how to use the new Windows functionality. There is also an example program (called "example") that works as a template for creating your own calls. The Windows version can be built from a tarball with the MingW or MingW-64 toolchains.

      •  18 Jul 2013 19:52

        Release Notes: This release updates the gtk-doc documentation. A binary .deb and .rpm are now available.

        •  21 Jun 2013 21:52

          Release Notes: A Tubo_child() function was added for obtaining the PID of the secondary process. This will allow for the full rodent-ps popup menu over the little run button. The library now aborts when malloc returns null (computer out of memory) just to be safe. CPU usage was reduced and response speed was increased by eliminating NO_HANG polling for the little run button control. The GLib dependency was removed, leaving only Pthreads and shm.

          •  13 Mar 2012 23:21

            Release Notes: This release is a much faster implementation. Threads are used for better control of input/output. This is the choice for multicore processors.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.