发布网友 发布时间:2022-04-07 18:08
共6个回答
懂视网 时间:2022-04-07 22:29
vi /usr/local/killmysqlprocess.sh
#!/bin/bash #*/1 * * * * /usr/local/src/killmysqlprocess.sh backdir="/usr/local/logs/" logfile="cms_mysql_killprocess_$(date +"%Y%m%d").log" mysqlbindir="/usr/local/mysql/bin/" #use commond ‘vmstat‘ get proc num vmstat > vmstat.tmp pronum=`awk -F" " ‘{if (NR==3) print $1}‘ vmstat.tmp` rm -f vmstat.tmp #if pronum less 20, nothing to do.......... exit if [ $pronum -lt 20 ]; then exit fi #it‘s here more than 20,run kill mysql Lock process ${mysqlbindir}mysql -e "show full processlist" > processlist.tmp #get Lock mysql process id awk -F" " ‘/Locked/{print $1}‘ processlist.tmp >looplock.tmp sleep 5 for line in `cat looplock.tmp` do /usr/local/mysql/bin/mysql -e "kill ${line}" done rm -f looplock.tmp #write kill log echo $(date +"%Y-%m-%d %H:%M:%S") >> ${backdir}${logfile} cat processlist.tmp >> ${backdir}${logfile} rm -f processlist.tmp
chmod 777 killmysqlprocess.sh
/usr/local/killmysqlprocess.sh
杀掉MYSQL死锁进程
标签:
热心网友 时间:2022-04-07 19:37
首先你这个写法肯定不行,grep出来的结果只是输出到显示器而已,和没加一样,你可以写一个脚本,在一条命令中确实很不容易实现,脚本中ps然后判断cpu使用率然后用循环逐个杀掉,这样比较好。。追问俺不会写脚本
热心网友 时间:2022-04-07 20:55
kill -9 `ps -ef|grep mysql|grep -v grep||awk '{print $2}'`热心网友 时间:2022-04-07 22:30
你可以ps -anx | grep 'mysql'追答你输入ps -aux | grep 'mysql'
然后查看pid
kill -9 进程号
你可以搜索ps -aux
热心网友 时间:2022-04-08 00:21
没有这种写法吧,热心网友 时间:2022-04-08 02:29
pkill -9 mysql 就可以了~~~追问谢谢!