Munin::Node::Service(3)

NAME
Munin::Node::Service - Methods related to handling of Munin services

SYNOPSIS
 my $bool = Munin::Node::Service->is_a_runnable_service($file_name);
 $result = Munin::Node::Service->fork_service($file_name)
    if $bool;

METHODS

is_a_runnable_service
     my $bool = Munin::Node::Service->is_a_runnable_service($file_name, $dir);

    Runs miscellaneous tests on $file_name in directory $dir. These tests are intended to verify that $file_name is a runnable service.

    If not specified, $dir defaults to $config->{servicedir}

prepare_plugin_environment(@services)
    Carries out various tasks that plugins require before being run, such as loading service configurations and exporting common environment variables.

export_service_environment
     Munin::Node::Service->export_service_enviromnent($service);

    Exports all the environment variables specific to service $service.

change_real_and_effective_user_and_group
     Munin::Node::Service->change_real_and_effective_user_and_group($service);

    Changes the current process' effective group and user IDs to those specified in the configuration, or the default user or group otherwise. Also changes the real group and user IDs if the operating system supports it.

    On failure, causes the process to exit.

exec_service
     Munin::Node::Service->exec_service($directory, $service, [$argument]);

    Replaces the current process with an instance of service $service in $directory, running with the correct environment and privileges.

    This function never returns.

fork_service
     $result = Munin::Node::Service->fork_service($directory, $service, [$argument]);

    Identical to exec_service(), except it forks off a child to run the service. If the service takes longer than its configured timeout, it will be terminated.

    Returns a hash reference containing (among other things) the service's output and exit value. (See documentation for run_as_child() in Munin::Node::Service for a comprehensive description.)