Provided by: munin-doc_2.0.25-2_all bug

NAME

       Munin::Node::OS - OS related utility methods for the Munin node.

SYNOPSIS

        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. $user might 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. $group might 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 $target is owned by root, and has safe
           permissions.  If $target is a file, also checks the directory it inhabits.

       run_as_child
             $result = run_as_child($timeout, $coderef, @arguments);

           Creates a child process to run $code and waits for up to $timeout seconds 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.