Munin::Node::Service(3pm) User Contributed Perl Documentation Munin::Node::Service(3pm)NAME
Munin::Node::Service - Methods related to handling of Munin services
SYNOPSIS
my $services = Munin::Node::Service->new(timeout => 30);
$services->prepare_plugin_environment;
if ($services->is_a_runnable_service($file_name)) {
$services->fork_service($file_name);
}
METHODS
new
my $services = Munin::Node::Service->new(%args);
Constructor. All arguments are optional. Valid arguments are:
"servicedir"
The directory that will be searched for services.
"defuser", "defgroup"
The default uid and gid that services will run as. Service-specific user and group directives (as set by the service
configuration files) will override this.
"timeout"
The default timeout for services. Services taking longer than this to run will be killed. Service-specific timeouts will (as
set in the service configuration files) will override this value.
is_a_runnable_service
my $bool = $services->is_a_runnable_service($file_name);
Runs miscellaneous tests on $file_name in the service directory, to try and establish whether it is a runnable service.
list
my @services = $services->list;
Returns a list of all the runnable services in the directory.
prepare_plugin_environment
$services->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
$services->export_service_enviromnent($service);
Exports all the environment variables specific to service $service.
change_real_and_effective_user_and_group
$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
$service->exec_service($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. The process will exit(2) if the service to be run failed the paranoia check.
fork_service
$result = $service->fork_service($service, [$argument]);
Identical to exec_service(), except it runs the service in a subprocess. If the service takes longer than the 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.)
perl v5.14.2 2013-11-12 Munin::Node::Service(3pm)
Check Out this Related Man Page
inets(3erl) Erlang Module Definition inets(3erl)NAME
inets - The inets services API
DESCRIPTION
This module provides the most basic API to the clients and servers, that are part of the Inets application, such as start and stop.
COMMON DATA TYPES
Type definitions that are used more than once in this module:
service() = ftpc | tftp | httpc | httpd
property() = atom()
EXPORTS
services() -> [{Service, Pid}]
Types Service = service()
Pid = pid()
Returns a list of currently running services.
Note:
Services started as stand_alone will not be listed.
services_info() -> [{Service, Pid, Info}]
Types Service = service()
Pid = pid()
Info = [{Option, Value}]
Option = property()
Value = term()
Returns a list of currently running services where each service is described by a [{Option, Value}] list. The information given in
the list is specific for each service and it is probable that each service will have its own info function that gives you even more
details about the service.
service_names() -> [Service]
Types Service = service()
Returns a list of available service names.
start() ->
start(Type) -> ok | {error, Reason}
Types Type = permanent | transient | temporary
Starts the Inets application. Default type is temporary. See also application(3erl)
stop() -> ok
Stops the inets application. See also application(3erl)
start(Service, ServiceConfig) -> {ok, Pid} | {error, Reason}
start(Service, ServiceConfig, How) -> {ok, Pid} | {error, Reason}
Types Service = service()
ServiceConfig = [{Option, Value}]
Option = property()
Value = term()
How = inets | stand_alone - default is inets
Dynamically starts an inets service after the inets application has been started.
Note:
Dynamically started services will not be handled by application takeover and failover behavior when inets is run as a distributed applica-
tion. Nor will they be automatically restarted when the inets application is restarted, but as long as the inets application is up and run-
ning they will be supervised and may be soft code upgraded. Services started as stand_alone , e.i. the service is not started as part of
the inets application, will lose all OTP application benefits such as soft upgrade. The "stand_alone-service" will be linked to the process
that started it. In most cases some of the supervision functionality will still be in place and in some sense the calling process has now
become the top supervisor.
stop(Service, Reference) -> ok | {error, Reason}
Types Service = service() | stand_alone
Reference = pid() | term() - service specified reference
Reason = term()
Stops a started service of the inets application or takes down a "stand_alone-service" gracefully. When the stand_alone option is
used in start, only the pid is a valid argument to stop.
SEE ALSO ftp(3erl) , httpc(3erl) , httpd(3erl) , tftp(3erl)Ericsson AB inets 5.5.2 inets(3erl)