%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.248 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/init/ |
Upload File : |
#!/usr/bin/perl # mass_start_stop.cgi # Start or stop multiple actions at once require './init-lib.pl'; &ReadParse(); @sel = split(/\0/, $in{'idx'}); @sel || &error($text{'mass_enone2'}); $start = 1 if ($in{'start'} || $in{'addboot_start'}); $stop = 1 if ($in{'stop'} || $in{'delboot_stop'}); $restart = 1 if ($in{'restart'}); $enable = 1 if ($in{'addboot'} || $in{'addboot_start'}); $disable = 1 if ($in{'delboot'} || $in{'delboot_stop'}); &ui_print_unbuffered_header(undef, $start || $enable ? $text{'mass_start'} : $restart ? $text{'mass_restart'} : $text{'mass_stop'}, ""); if ($start || $stop || $restart) { # Starting or stopping a bunch of actions $SIG{'TERM'} = 'ignore'; # Restarting webmin may kill this script &foreign_require("proc", "proc-lib.pl"); $access{'bootup'} || &error($text{'ss_ecannot'}); # build list of normal and broken actions ($initrl) = &get_inittab_runlevel(); @iacts = &list_actions(); foreach $a (@iacts) { @ac = split(/\s+/, $a); push(@acts, $ac[0]); local $order = "9" x $config{'order_digits'}; if ($ac[0] =~ /^\//) { push(@actsf, $ac[0]); } else { push(@actsf, "$config{'init_dir'}/$ac[0]"); local @lvls = &action_levels( $start || $restart ? 'S' : 'K', $ac[0]); foreach $lon (@lvls) { local ($l, $o, $n) = split(/\s+/, $lon); if ($l eq $initrl) { $order = $o; last; } } } push(@orders, $order); } if ($start || $restart) { @sel = sort { $orders[$a] <=> $orders[$b] } @sel; } else { @sel = sort { $orders[$b] <=> $orders[$a] } @sel; } foreach $idx (@sel) { local $cmd = "$actsf[$idx] ".($start ? "start" : $restart ? "restart" : "stop"); print &text('ss_exec', "<tt>$cmd</tt>"),"<p>\n"; print "<pre>"; &clean_environment(); &foreign_call("proc", "safe_process_exec_logged", $cmd, 0, 0, STDOUT, undef, 1); &reset_environment(); print "</pre>\n"; push(@selacts, $acts[$idx]); } &webmin_log($start ? 'massstart' : $restart ? 'massrestart' : 'massstop', 'action', join(" ", @selacts)); } if ($enable || $disable) { # Enabling or disabling a bunch of actions $access{'bootup'} == 1 || &error($text{'edit_ecannot'}); @iacts = &list_actions(); foreach $a (@iacts) { @ac = split(/\s+/, $a); push(@acts, $ac[0]); } @toboot = map { $acts[$_] } @sel; foreach $b (@toboot) { if ($b =~ /^\//) { &error(&text('mass_ebroken', $ac[0])); } } if ($enable) { # Enable them all foreach $b (@toboot) { print &text('mass_enable', "<tt>$b</tt>"),"<p>\n"; &enable_at_boot($b); } } else { # Disable them all foreach $b (@toboot) { print &text('mass_disable', "<tt>$b</tt>"),"<p>\n"; &disable_at_boot($b); } } &webmin_log($enable ? 'massenable' : 'massdisable', 'action', join(" ", @toboot)); } &ui_print_footer("", $text{'index_return'});