== Release 1.3.1: December 14, 2018
* Fix undefined local variable or method `pid_delimiter'
== Release 1.3.0: December 10, 2018
* Make logging more configurable.
* Add configuration options for pid file delimters, force_kill_waittime
* All status callback to be anything callable.
== Release 1.2.6: December 24, 2017
* Add links to rubydoc.info documentation.
== Release 1.2.5: October 22, 2017
* In Application#stop, call zap, not cleanup on the pidfile (thanks to wevanscfi)
* Use File.expand_path on and output and log files (thanks to Dave Harris)
Problems found locating distfiles:
Package colorls: missing distfile ls.tar.gz
Package molden: missing distfile molden-4.6/molden4.6.tar.gz
Package softmaker-office-demo: missing distfile ofl06trial.tgz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
== Release 1.2.1: March 10, 2015
* increase version number to be able to re-push to rubygems
== Release 1.2.0: March 8, 2015
* add options for custum log file names.
* change pid file name scheme to "#progname_num#{number}.pid" for multiple instances.
* fix call_as_daemon not saving the PID (thanks Roberto Plancarte)
* allow for custom statis messages (thanks to Joseph Haig)
* fix Pid.running? rescuing timeout exceptions (thanks to Geraud Boyer)
* monitor.rb/application.rb/application_group.rb: handle :monitor and :multiple in combination correctly
(thanks to Prakash Murthy).
* pidfile.rb: Handle invalid or empty pid files instead of returning pid 0 (thanks to Aaron Stone)
* run the whole gem through Rubocop (thanks to Aaron Stone)
* gem cleanup (thanks to Aaron Stone)
= Daemons Release History
== Release 1.1.8: February 7, 2012
* rename to daemonization.rb to daemonize.rb (and Daemonization to Daemonize) to
ensure compatibility.
== Release 1.1.7: February 6, 2012
* start_proc: Write out the PID file in the newly created proc to avoid race conditions.
* daemonize.rb: remove to simplify licensing (replaced by daemonization.rb).
== Release 1.1.6: January 18, 2012
* Add the :app_name option for the "call" daemonization mode.
== Release 1.1.5: December 19, 2011
* Catch the case where the pidfile is empty but not deleted
and restart the app (thanks to Rich Healey)
= Daemons Release History
== Release 1.1.4: June 17, 2011
* Do not change the umask to 0000 when daemonizing anymore, just leave it as it
was (thanks to Jon Botelho).
== Release 1.1.3: April 14, 2011
* Fixed a bug in Application.stop: the cached pid number needs to
be used to check for the status of a killed process (thanks to Jimmy Sieben).
== Release 1.1.2: March 29, 2011
* Fixed gemspec to include all needed files.
== Release 1.1.1: March 29, 2011
* Make the logging facilities work in :mode => :none (i.e. when calling
Daemons.daemonize) (thanks to the input from Peter Hegedus).
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Add LICENSE.
== Release 1.1.0: June 20, 2010
* Honour the options[:app_name] in Daemons.daemonize (thanks to Ryan Tecco).
* Included a new option :stop_proc to specify a proc that will be called when a
daemonized process receives a request to stop (thanks to Dave Dupre).
* Only delete the pidfile if the current pid is the original pid (ghazel).
* Start when restart but no application running (pcreux).
* Silently continue if there is no pidfile (ghazel).
* We now per default wait for processes to stop and
kill them automatically it if they do not stop within a given time
(force_kill_waittime). Use the option --no_wait to not wait for processes to
stop.
* Set log files mode to 0644 (mikehale).
* Set pid file permissions to 0644 (mikehale).
* Added ability to change process uid/gid (mikehale).
* Fix for: If you happen to start a daemon from a process that has open file
descriptors these will stay open. As it is daemonize.rb only closes ruby IO
objects (thanks to Han Holl).
* New reload command (SIGHUP) (thanks to Michael Schuerig).
+ Install as a Ruby gem.
- Fixed a severe bug in the new Pid.running? function: function returned
true if the process did not exist.
- By default, we now delete stray pid-files (i.e. pid-files which result for
example from a killed daemon) automatically. This function can be
deactivated by passing :keep_pid_files => true as an option.
- All pid files of :multiple daemons new get deleted correctly upon
exit of the daemons.
- Use the signal 'KILL' instead of 'TERM' on Windows platforms.
- Use exit! in trap('TERM') instead of exit when option :hard_exit is given.
- Did some clarification on the exception log.
Changes:
* new Pid.running? function. Checking whether a process exists by sending
signal '0'
* Patch to fix wrong ARGV when using :exec (in def start_exec:
Kernel.exec(script(), *(@app_argv || [])))
Changes:
* Applied patch that causes daemons to use '/var/log' as logfile
directory if you use :dir_mode = :system (thanks to Han Holl).
* Daemons should now work with Ruby 1.9 (at least the basic features).
Changes since 1.0.2:
* Document the :log_output option.
* Set STDOUT.sync = true when redirecting to a logfile.
* Should now run also correctly when there is no working 'ps ax' on the
system
* Set the app_name correctly also for the monitor process.
daemons provides an easy way to wrap existing ruby scripts (for
example a self-written server) to be run as a daemon and to be
controlled by simple start/stop/restart commands. daemons can also
run and control blocks of Ruby code in a daemon process.