# Servolux 0.5.0

**URL:** <https://www.ruby-forum.com/t/servolux-0-5-0/171334>\
**Category:** Ruby\
**Created:** [June 30, 2009, 8:00pm UTC](https://www.ruby-forum.com/t/servolux-0-5-0/171334 "2009-06-30T20:00:24Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![timperrett](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c5a1d2/32.png) [@timperrett](https://www.ruby-forum.com/u/timperrett)\
**Post date:** [June 30, 2009, 8:00pm UTC](https://www.ruby-forum.com/t/servolux-0-5-0/171334/1 "2009-06-30T20:00:24Z")

</div>

Serv-O-Lux version 0.5.0  
by Tim P.  
[GitHub - TwP/servolux: Threads : Servers : Forks : Daemons](http://github.com/TwP/servolux/tree/master)

== DESCRIPTION

Serv-O-Lux is a collection of Ruby classes that are useful for daemon  
and  
process management, and for writing your own Ruby services. The code is  
well  
documented and tested. It works with Ruby and JRuby supporing both 1.8  
and 1.9  
interpreters.

== FEATURES

Servolux::Threaded – when included into your own class, it gives you an  
activity thread that will run some code at a regular interval. Provides  
methods  
to start and stop the thread, report on the running state, and join the  
thread  
to wait for it to complete.

Servolux::Server – a template server class that handles the mundane  
work of  
creating / deleting a PID file, reporting running state, logging errors,  
starting the service, and gracefully shutting down the service.

Servolux::Piper – an extension of the standard Ruby fork method that  
opens a  
pipe for communication between parent and child processes. Ruby objects  
are  
passed between parent and child allowing, for example, exceptions in the  
child  
process to be passed to the parent and raised there.

Servolux::Daemon – a robust class for starting and stopping daemon  
processes.

Servolux::Child – adds some much needed funtionality to child processes  
created via Ruby’s IO#popen method. Specifically, a timeout thread is  
used to  
signal the child process to die if it does not exit in a given amount of  
time.

All the documentation is available online at  
[http://codeforpeople.rubyforge.org/servolux](http://codeforpeople.rubyforge.org/servolux)

== INSTALL

gem install servolux

Feedback and comments are welcome. Patches, ideas, updates, and bug  
reports  
should all be directed to the GitHub project.

Blessings,  
TwP
