#!/usr/local/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], "$r->[1]", $r->[2], "$r->[3]", $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 "$text{'procs_none'}

\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; }