1、MySQL中使用kill命令去杀死连接时,线程可能长时间处于killed状态。这种现象通常发生在命令执行流程中,从MySQL的启动入口函数main到线程绑定和处理客户端消息。当执行kill命令并找到需要kill掉的连接的conncetion_id时,发送kill命令后,线程会先设置killed flag状态,接着关闭socket连接并中断引擎等待。
2、- 当thd_connection_alive状态为待杀死时,连接将被关闭,释放资源。此时,通过show processlist查看,killed状态的线程才会消失。线程的pthread也会等待其他连接复用。