Munin::Node::OS3pm
Os related utility methods for the munin node.
Usage
use Munin::Node::OS;my $uid = Munin::Node::OS->get_uid('foo');my $host = Munin::Node::OS->get_fq_hostname();
Methods
get_uid-
$uid = $class->get_uid($user)Returns the user ID.
$usermight either be a user name or a user ID. Returns undef if the user doesn't exist.
get_gid-
$gid = $class->get_gid($group)Returns the group ID.
$groupmight either be a group name or a group ID. Returns undef if the group doesn't exist.
get_fq_hostname-
$host = $class->get_fq_hostname()Returns the fully qualified host name of the machine.
check_perms_if_paranoid-
$bool = $class->check_perms_if_paranoid($target);If paranoia is enabled, returns false unless
$targetis owned by root, and has safe permissions. If$targetis a file, also checks the directory it inhabits.
run_as_child-
$result = run_as_child($timeout, $coderef, @arguments);Creates a child process to run
$codeand waits for up to$timeoutseconds for it to complete. Returns a hashref containing the following keys:- "stdout", "stderr"
-
Array references containing the output of these filehandles;
- "retval"
-
The result of
wait();
- "timed_out"
-
True if the child had to be interrupted.
System errors will cause it to carp.
reap_child_group-
$class->reap_child_group($pid);Sends SIGHUP and SIGKILL to the process group identified by
$pid.Sleeps for 2 seconds between SIGHUP and SIGKILL.
possible_to_signal_process-
my $bool = $class->possible_to_signal_process($pid)Check whether it's possible to send a signal to
$pid(that means, to be brief, that the process is owned by the same user, or we are the super-user). This is a useful way to check that a child process is alive (even if only as a zombie) and hasn't changed its UID.
set_effective_user_id-
eval {$class->set_effective_user_id($uid);};if ($@) {# Failed to set EUID}The name says it all ...
set_effective_group_id-
See documentation for
set_effective_user_id()
set_real_user_id-
See documentation for
set_effective_user_id()
set_real_group_id-
See documentation for
set_effective_user_id()
set_umask-
Set umask so that files created by plugins are group writable Only call right before exec-ing a plugin.
Releases
9 releases since Debian 6.0 (Squeeze); the text changed 8 times.