Server IP : 195.201.23.43 / Your IP : 3.129.194.144 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/init/ |
Upload File : |
#!/usr/bin/perl # Create, update or delete a launchd service require './init-lib.pl'; &error_setup($text{'launchd_err'}); $access{'bootup'} || &error($text{'edit_ecannot'}); &ReadParse(); @launchds = &list_launchd_agents(); # Get the service if (!$in{'new'}) { ($u) = grep { $_->{'name'} eq $in{'name'} } @launchds; $u || &error($text{'launchd_egone'}); } if ($in{'start'} || $in{'stop'} || $in{'restart'}) { # Just redirect to the start page &redirect("mass_launchd.cgi?d=".&urlize($in{'name'})."&". ($in{'start'} ? "start=1" : $in{'restart'} ? "restart=1" : "stop=1"). "&return=".&urlize($in{'name'})); exit; } if ($in{'delete'}) { # Delete the service &delete_launchd_agent($in{'name'}); &webmin_log("delete", "launchd", $in{'name'}); } elsif ($in{'reload'}) { # Re-load the service from its config file &system_logged("launchctl unload ".quotemeta($u->{'file'})." 2>&1"); &system_logged("launchctl load ".quotemeta($u->{'file'})." 2>&1"); &webmin_log("reload", "launchd", $in{'name'}); } elsif ($in{'new'}) { # Validate inputs and check for clash $in{'name'} =~ /^[a-z0-9\.\_\-]+$/i || &error($text{'launchd_ename'}); ($clash) = grep { $_->{'name'} eq $in{'name'} } @launchds; $clash && &error($text{'launchd_eclash'}); $in{'atstart'} =~ /\S/ || &error($text{'launchd_estart'}); # Create the config file &create_launchd_agent($in{'name'}, $in{'atstart'}, $in{'boot'}); &webmin_log("create", "launchd", $in{'name'}); } else { # Just save the config file $in{'conf'} =~ /\S/ || &error($text{'launchd_econf'}); $in{'conf'} =~ s/\r//g; &open_lock_tempfile(CONF, ">$u->{'file'}"); &print_tempfile(CONF, $in{'conf'}); &close_tempfile(CONF); &webmin_log("modify", "launchd", $in{'name'}); } &redirect("");Private