Viewing file: list_procs.cgi (1.43 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl # Show currently connected MySQL users
require './mysql-lib.pl'; $access{'perms'} == 1 || &error($text{'procs_ecannot'}); &ui_print_header(undef, $text{'procs_title'}, "", "procs");
# Get the processes, except this one $d = &execute_sql($master_db, "show full processlist"); @procs = grep { $_->[7] ne "show full processlist" || $_->[3] ne $master_db || $_->[1] ne $mysql_login } @{$d->{'data'}};
if (@procs) { print &ui_form_start("kill_procs.cgi", "post"); @tds = ( "width=5" ); @rowlinks = ( &select_all_link("d"), &select_invert_link("d") ); print &ui_links_row(\@rowlinks); print &ui_columns_start([ "", $text{'procs_id'}, $text{'procs_user'}, $text{'procs_host'}, $text{'procs_db'}, $text{'procs_cmd'}, $text{'procs_time'}, $text{'procs_query'} ], 100, 0, \@tds); foreach $r (@procs) { print &ui_checked_columns_row([ $r->[0], "<a href='edit_user.cgi?user=$r->[1]'>$r->[1]</a>", $r->[2], "<a href='edit_dbase.cgi?db=$r->[3]'>$r->[3]</a>", $r->[4], &nice_time($r->[5]), &html_escape($r->[7]) ], \@tds, "d", $r->[0]); } print &ui_columns_end(); print &ui_links_row(\@rowlinks); print &ui_form_end([ [ "kill", $text{'procs_kill'} ] ]); } else { print "<b>$text{'procs_none'}</b><p>\n"; }
&ui_print_footer("", $text{'index_return'});
sub nice_time { local ($s) = @_; return sprintf "%2.2d:%2.2d:%2.2d", int($s / 3600), int($s / 60)%60, $s % 60; }
|