Commit e2771459 authored by patg@krsna.patg.net's avatar patg@krsna.patg.net

mysqld_safe.sh:

  bug #5001, added conditional if to test if port set, then only kill the processes
  for this port, not all processes (in the case of this bug where multiple servers 
  are killed.)
  The change to the 'grep' to make sure mysqld_safe isn't killed was per Serg's
  discovery that mysqld_safe would get killed. 
  In my testing, in killing one of the pids for a running server, the "if test ! -f $pid_file"
  was the case that evaluated as true, so in order to test, I had to comment that block
  out.
parent 8db6c064
...@@ -311,6 +311,7 @@ do ...@@ -311,6 +311,7 @@ do
fi fi
if test ! -f $pid_file # This is removed if normal shutdown if test ! -f $pid_file # This is removed if normal shutdown
then then
echo "STOPPING server from pid file $pid_file"
break break
fi fi
...@@ -321,12 +322,24 @@ do ...@@ -321,12 +322,24 @@ do
# but should work for the rest of the servers. # but should work for the rest of the servers.
# The only thing is ps x => redhat 5 gives warnings when using ps -x. # The only thing is ps x => redhat 5 gives warnings when using ps -x.
# kill -9 is used or the process won't react on the kill. # kill -9 is used or the process won't react on the kill.
numofproces=`ps xa | grep -v "grep" | grep -c $ledir/$MYSQLD` if test -n "$mysql_tcp_port"
then
numofproces=`ps xa | grep -v "grep" | grep $ledir/$MYSQLD| grep -c "port=$mysql_tcp_port"`
else
numofproces=`ps xa | grep -v "grep" | grep -c $ledir/$MYSQLD`
fi
echo -e "\nNumber of processes running now: $numofproces" | tee -a $err_log echo -e "\nNumber of processes running now: $numofproces" | tee -a $err_log
I=1 I=1
while test "$I" -le "$numofproces" while test "$I" -le "$numofproces"
do do
PROC=`ps xa | grep $ledir/$MYSQLD | grep -v "grep" | sed -n '$p'` if test -n "$mysql_tcp_port"
then
PROC=`ps xa | grep "$ledir/$MYSQLD\>" | grep -v "grep" | grep "port=$mysql_tcp_port" | sed -n '$p'`
else
PROC=`ps xa | grep "$ledir/$MYSQLD\>" | grep -v "grep" | sed -n '$p'`
fi
for T in $PROC for T in $PROC
do do
break break
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment