当前位置: 技术问答>linux和unix
这个自动kill掉mysql进程的sh应该怎么写?
来源: 互联网 发布时间:2016-11-12
本文导语: 我在网上找到一个,但是运行起来没效果,mysqladmin和mysql都可以正常运行,但是这个脚本运行了,超时的进程还在。。。 DB_USER="root" DB_PASS="123456" maxtime=100 sql="SHOW PROCESSLIST" sss=$(mysqladmin processlist -p$DB_PASS|sed -e "s/s/...
我在网上找到一个,但是运行起来没效果,mysqladmin和mysql都可以正常运行,但是这个脚本运行了,超时的进程还在。。。
DB_USER="root"
DB_PASS="123456"
maxtime=100
sql="SHOW PROCESSLIST"
sss=$(mysqladmin processlist -p$DB_PASS|sed -e "s/s//g"|awk -F'|' '{print $2,$7,substr($9,1,6)}'|awk '{if($2>'"$maxtime"' && $3=="SELECT"){print $1}}')
for pid in $(echo "$sss"); do
mysql -u$DB_USER -p$DB_PASS -e "kill $pid"
done
echo "$sss"
date
|
kill -9 $pid
|
你总不能把网上的代码拿来看都不看就使用吧? 人家给个提示 你自己在测试测试啊。
你在for循环之前打印一下变量sss 看看有没有值啊?!
还有他那还是加了一些条件的(maxtime=100) 你执行后如果改进程不符合条件的话 当然也不会关闭。
你在for循环之前打印一下变量sss 看看有没有值啊?!
还有他那还是加了一些条件的(maxtime=100) 你执行后如果改进程不符合条件的话 当然也不会关闭。