Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
mysql_zap.sh
Package: SwordOnline.rar [view]
Upload User: dzyhzl
Upload Date: 2019-04-29
Package Size: 56270k
Code Size: 3k
Category:
Game Server Simulator
Development Platform:
C/C++
- #!@PERL@
- # This is a utility for MySQL. It is not needed by any standard part
- # of MySQL.
- # Usage: mysql_zap [-signal] [-f] [-t] pattern
- # Configuration parameters.
- $sig = ""; # Default to try all signals
- $ans = "y";
- $opt_f= 0;
- $opt_t= 0;
- $opt_a = "";
- $BSD = -f '/vmunix' || $ENV{"OS"} eq "SunOS4";
- $LINUX = $^O eq 'linux';
- $pscmd = $BSD ? "/bin/ps -auxww" : $LINUX ? "/bin/ps axuw" : "/bin/ps -ef";
- open(TTYIN, "</dev/tty") || die "can't read /dev/tty: $!";
- open(TTYOUT, ">/dev/tty") || die "can't write /dev/tty: $!";
- select(TTYOUT);
- $| = 1;
- select(STDOUT);
- $SIG{'INT'} = 'cleanup';
- while ($#ARGV >= $[ && $ARGV[0] =~ /^-/) {
- if ($ARGV[0] =~ /(ZERO|HUP|INT|QUIT|ILL|TRAP|ABRT|EMT|FPE|KILL|BUS|SEGV|SYS|PIPE|ALRM|TERM|URG|STOP|TSTP|CONT|CLD|TTIN|TTOU|IO|XCPU|XFSZ|VTALRM|PROF|WINCH|LOST|USR1|USR2)/ || $ARGV[0] =~ /-(d+)$/) {
- $sig = $1;
- } elsif ($ARGV[0] eq "-f") {
- $opt_f=1;
- } elsif ($ARGV[0] eq "-t") {
- $opt_t=1;
- $ans = "n";
- }
- elsif ($ARGV[0] eq "-a")
- {
- $opt_a = 1;
- }
- elsif ($ARGV[0] eq "-?" || $ARGV[0] eq "-I" || $ARGV[0] eq "--help")
- {
- &usage;
- }
- else {
- print STDERR "$0: illegal argument $ARGV[0] ignoredn";
- }
- shift;
- }
- &usage if $#ARGV < 0;
- if (!$opt_f)
- {
- if ($BSD) {
- system "stty cbreak </dev/tty >/dev/tty 2>&1";
- }
- else {
- system "stty", 'cbreak',
- system "stty", 'eol', '^A';
- }
- }
- open(PS, "$pscmd|") || die "can't run $pscmd: $!";
- $title = <PS>;
- print TTYOUT $title;
- # Catch any errors with eval. A bad pattern, for instance.
- eval <<'EOF';
- process: while ($cand = <PS>)
- {
- chop($cand);
- ($user, $pid) = split(' ', $cand);
- next if $pid == $$;
- $found = !@ARGV;
- if ($opt_a) { $found = 1; }
- foreach $pat (@ARGV)
- {
- if ($opt_a)
- {
- if (! ($cand =~ $pat))
- {
- next process;
- }
- }
- else
- {
- $found = 1 if $cand =~ $pat;
- }
- }
- next if (!$found);
- if (! $opt_f && ! $opt_t)
- {
- print TTYOUT "$cand? ";
- read(TTYIN, $ans, 1);
- print TTYOUT "n" if ($ans ne "n");
- }
- else
- {
- print TTYOUT "$candn";
- }
- if ($ans =~ /^y/i) { &killpid($sig, $pid); }
- if ($ans =~ /^q/i) { last; }
- }
- EOF
- &cleanup;
- sub usage {
- print <<EOF;
- Usage: $0 [-signal] [-?Ift] [--help] pattern
- Options: -I or -? "info" -f "force" -t "test".
- Version 1.0
- Kill processes with matches pattern.
- If -f isn't given, ask user for confirmation for each process to kill.
- If signal isn't given, try first with signal 15 and after that with signal 9.
- If -t is given the processes is only shown on stdout.
- EOF
- exit(1);
- }
- sub cleanup {
- if ($BSD) {
- system "stty -cbreak </dev/tty >/dev/tty 2>&1";
- }
- else {
- system "stty", 'icanon';
- system "stty", 'eol', '^@';
- }
- print "n";
- exit;
- }
- sub killpid {
- local($signal,$pid) = @_;
- if ($signal)
- {
- kill $signal,$pid;
- }
- else
- {
- print "kill -15n";
- kill 15, $pid;
- for (1..5) {
- sleep 2;
- return if kill(0, $pid) == 0;
- }
- print "kill -9n";
- kill 9, $pid;
- for (1..5) {
- sleep 2;
- return if kill(0, $pid) == 0;
- }
- print "$pid will not die!n";
- }
- }