1 package PVE
::Service
::pvedaemon
;
9 use PVE
::APIServer
::Formatter
::Standard
;
10 use PVE
::APIServer
::Formatter
::HTML
;
13 use base
qw(PVE::Daemon);
15 my $cmdline = [$0, @ARGV];
17 my %daemon_options = (
19 restart_on_error
=> 5,
21 leave_children_open_on_reload
=> 1,
24 my $daemon = __PACKAGE__-
>new('pvedaemon', $cmdline, %daemon_options);
29 my $accept_lock_fn = "/var/lock/pvedaemon.lck";
31 my $lockfh = IO
::File-
>new(">>${accept_lock_fn}") ||
32 die "unable to open lock file '${accept_lock_fn}' - $!\n";
34 my $socket = $self->create_reusable_socket(85, '127.0.0.1');
36 $self->{server_config
} = {
40 lockfile
=> $accept_lock_fn,
43 debug
=> $self->{debug
},
51 my $server = PVE
::HTTPServer-
>new(%{$self->{server_config
}});
55 $daemon->register_start_command();
56 $daemon->register_restart_command(1);
57 $daemon->register_stop_command();
58 $daemon->register_status_command();
61 start
=> [ __PACKAGE__
, 'start', []],
62 restart
=> [ __PACKAGE__
, 'restart', []],
63 stop
=> [ __PACKAGE__
, 'stop', []],
64 status
=> [ __PACKAGE__
, 'status', [], undef, sub { print shift . "\n";} ],