App-Netdisco
view release on metacpan or search on metacpan
bin/netdisco-web view on Meta::CPAN
# only drop privileges if we are root; otherwise we cannot setuid anyway
# and Daemon::Control / starman would emit a misleading
# "Operation not permitted" warning under e.g. OpenShift random UIDs.
my $can_drop_priv = ($> == 0);
my $log_dir = dir($home, 'logs');
my $log_file;
if (!$foreground) {
mkdir $log_dir if ! -d $log_dir;
chown $uid, $gid, $log_dir;
$log_file = file($log_dir, 'netdisco-web.log');
}
my $pid_file = file($home, 'netdisco-web.pid');
# change ownership of key files to be netdisco user
foreach my $file ($pid_file, ($foreground ? () : $log_file)) {
unless (-e $file) {
sysopen my $fh, $file, O_WRONLY|O_CREAT|O_NONBLOCK|O_NOCTTY;
print $fh '0' if $file eq $pid_file;
close $fh;
}
chown $uid, $gid, $file;
}
# clean old web sessions
my $sdir = dir($home, 'netdisco-web-sessions')->stringify;
unlink glob file($sdir, '*');
Daemon::Control->new({
name => 'Netdisco Web',
program => \&restarter,
program_args => [
( run in 2.468 seconds using v1.01-cache-2.11-cpan-71847e10f99 )