App-Munner
view release on metacpan or search on metacpan
lib/App/Munner/Runner.pm view on Meta::CPAN
has sys_user_info => (
is => "ro",
isa => "HashRef",
builder => "_build_sys_user_info",
);
sub _build_sys_user_info {
my $self = shift;
my $user = $self->user;
my %info = ();
@info{qw( username password uid gid )} = getpwnam( $self->user )
or die "User ($user) is invalid\n";
return \%info;
}
has sys_uid => (
is => "ro",
isa => "Int",
builder => "_build_sys_uid",
);
sub _build_sys_uid {
shift->sys_user_info->{uid};
}
has sys_gid => (
is => "ro",
isa => "Int",
builder => "_build_sys_gid",
);
sub _build_sys_gid {
shift->sys_user_info->{gid};
}
has log_dir => (
is => "ro",
isa => "Str",
builder => "_build_log_dir",
);
sub _build_log_dir {
my $self = shift;
lib/App/Munner/Runner.pm view on Meta::CPAN
lsb_stop => q{$syslog},
lsb_sdesc => $app,
lsb_desc => $app,
directory => $self->base_dir,
program => $cmd,
pid_file => $self->pid_file,
stderr_file => $self->error_log,
stdout_file => $self->access_log,
fork => $self->fork_mode,
uid => $info->{uid},
gid => $info->{gid},
}
);
return $daemon;
}
sub run {
my $self = shift;
$self->_daemon->do_foreground;
}
lib/App/Munner/Runner.pm view on Meta::CPAN
}
sub _set_file_permission {
my $self = shift;
my $file = shift
or die "FIXME: Missing file name";
die "FIXME: file is not found"
if !-f $file;
my $info = $self->sys_user_info;
my $uid = $info->{uid};
my $gid = $info->{gid};
chown $uid, $gid, $file
or die "Unable to chown $file\n";
chmod 0700, $file
or die "Unable to chown $file to 0700\n";
}
sub _touch {
my $self = shift;
my $file = shift;
open my $FH, ">>", $file
or die "Unable to touch file $file because $!\n";
( run in 0.894 second using v1.01-cache-2.11-cpan-5735350b133 )