diff --git a/init/init-lib.pl b/init/init-lib.pl index 331897bda..d83cd17dd 100755 --- a/init/init-lib.pl +++ b/init/init-lib.pl @@ -1344,6 +1344,33 @@ else { } } +=head2 reload_action(action) + +Does a config reload for some action. + +=cut +sub reload_action +{ +local ($name) = @_; +local $action_mode = &get_action_mode($name); +if ($action_mode eq "upstart") { + return &reload_upstart_service($name); + } +elsif ($action_mode eq "systemd") { + return &reload_systemd_service($name); + } +elsif ($action_mode eq "init") { + local $file = &action_filename($name); + local $hasarg = &get_action_args($file); + if ($hasarg->{'reload'}) { + local $cmd = $file." reload"; + local $out = &backquote_logged("$cmd 2>&1 &1 &1