%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/proc/ |
Upload File : |
#!/usr/bin/perl # index.cgi # Display a list of all existing processes require './proc-lib.pl'; &ui_print_header(undef, $text{'index_title'}, "", "tree", !$no_module_config, 1); &index_links("tree"); print &ui_columns_start([ $text{'pid'}, $text{'owner'}, $info_arg_map{'_stime'} ? ( $text{'stime'} ) : ( ), $text{'command'} ], 100); @procs = sort { $a->{'pid'} <=> $b->{'pid'} } &list_processes(); foreach $pr (@procs) { $p = $pr->{'pid'}; $pp = $pr->{'ppid'}; $procmap{$p} = $pr; $argmap{$p} = $pr->{'args'}; $usermap{$p} = $pr->{'user'}; $stimemap{$p} = &format_stime($pr); push(@{$children{$pp}}, $p); $inlist{$pr->{'pid'}}++; } foreach $pr (@procs) { push(@roots, $pr->{'pid'}) if (!$inlist{$pr->{'ppid'}} || $pr->{'pid'} == $pr->{'ppid'} || $pr->{'pid'} == 0); } foreach $r (&unique(@roots)) { &walk_procs("", $r); } print &ui_columns_end(); &ui_print_footer("/", $text{'index'}); # walk_procs(indent, pid) sub walk_procs { next if ($done_proc{$_[1]}++); local(@ch, $_, $args); if (&can_view_process($procmap{$_[1]})) { local @cols; if (&can_edit_process($usermap{$_[1]})) { push(@cols, $_[0].&ui_link("edit_proc.cgi?".$_[1], $_[1]) ); } else { push(@cols, "$_[0]$_[1]"); } push(@cols, $usermap{$_[1]}); if ($info_arg_map{'_stime'}) { push(@cols, $stimemap{$_[1]}); } $args = &cut_string($argmap{$_[1]}); push(@cols, &html_escape($args)); print &ui_columns_row(\@cols); } foreach (@{$children{$_[1]}}) { &walk_procs("$_[0] ", $_); } }