NAME

Ubic::Service::SimpleDaemon - declarative service for daemonizing any binary

VERSION

version 1.37_01

SYNOPSIS

use Ubic::Service::SimpleDaemon;
my $service = Ubic::Service::SimpleDaemon->new(
    bin => "sleep 1000",
    stdout => "/var/log/sleep.log",
    stderr => "/var/log/sleep.err.log",
    ubic_log => "/var/log/sleep.ubic.log",
    user => "nobody",
);

DESCRIPTION

Use this class to daemonize any binary.

This module uses Ubic::Daemon module for process daemonization. All pidfiles are stored in ubic data dir, with their names based on service names.

METHODS

new($params)

Constructor.

Parameters:

bin

Daemon binary.

user

User under which daemon will be started. Optional, default is root.

group

Group under which daemon will be started. Optional, default is all user groups.

Value can be scalar or arrayref.

stdout

File into which daemon's stdout will be redirected. Default is /dev/null.

stderr

File into which daemon's stderr will be redirected. Default is /dev/null.

ubic_log

Optional filename of ubic log. Log will contain some technical information about running daemon.

cwd

Change working directory before starting a daemon. Optional.

env

Modify environment before starting a daemon. Optional. Must be a plain hashref if specified.

name

Service's name.

Optional, will usually be set by upper-level multiservice. Don't set it unless you know what you're doing.

pidfile()

Get pid filename. It will be concatenated from simple-daemon pid dir and service's name.

SEE ALSO

Ubic::Daemon - module to daemonize any binary

AUTHOR

Vyacheslav Matyukhin <mmcleric@yandex-team.ru>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Yandex LLC.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.