SHOW PROCESSLIST命令介绍

本文介绍了SHOW PROCESSLIST命令,用于显示正在运行的线程。内容涵盖不同MariaDB版本的示例,强调了如何查看所有线程以及如何使用thread_id或query_id与KILL语句结合来终止线程。同时,提到了information_schema.PROCESSLIST表和performance_schema.THREADS表的相关信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

句法

显示[完整]程序清单

描述

SHOW PROCESSLIST显示正在运行的线程。您也可以从information_schema.PROCESSLIST表或mysqladmin processlist命令中获取此信息 。如果有 PROCESS privilege,则可以看到所有线程。否则,您只能看到自己的线程(即与您使用的MariaDB帐户关联的线程)。如果您不使用 FULL关键字,则每个语句的前100个字符仅显示在“信息”字段中。

显示的列是:SHOW PROCESSLIST
在这里插入图片描述
该information_schema.PROCESSLIST 表包含以下其他列:
在这里插入图片描述
请注意,PROGRESS信息模式中的PROGRESS字段和信息模式中的字段SHOW PROCESSLIST显示不同的结果。SHOW PROCESSLIST显示总进度,而信息模式仅显示当前阶段的进度。

可以使用线程的thread_id或自MariaDB 10.0.5版本起的线程的query_id和KILL语句将其杀死。

由于对此表的查询处于锁定状态,因此如果performance_schema启用,则可能要查询该THREADS表。

例子

从MariaDB 5.1 .x
显示完整的程序清单;
+ --------- + ------- + ----------- + ------ + --------- +- ---- + ------- + ------------------------- +
| ID | 用户| 主持人 db | 指令| 时间|| 信息|
+ --------- + ------- + ----------- + ------ + --------- +- ---- + ------- + ------------------------- +
| 1988880 | dbart | 本地主机| NULL | 查询| 0 | NULL | 显示完整的程序清单|
+ --------- + ------- + ----------- + ------ + --------- +- ---- + ------- + ------------------------- +

选择* FROM information_schema.processlist;
+ --------- + ------- + ----------- + ------ + --------- +- ---- + ----------- + --------------------------------- ------------- + --------- +
| ID | USER | 主机| DB | COMMAND | 时间|| 信息| TIME_MS |
+ --------- + ------- + ----------- + ------ + --------- +- ---- + ----------- + --------------------------------- ------------- + --------- +
| 1988880 | dbart | 本地主机| NULL | 查询| 0 | 执行 选择*从information_schema.processlist | 0.444 |
+ --------- + ------- + ----------- + ------ + --------- +- ---- + ----------- + --------------------------------- ------------- + --------- +
从MariaDB 5.5 .x
显示完整的程序清单;
+ ----- + ------ + ----------- + ------ + --------- + ------ + ------- + ----------------------- + ---------- +
| ID | 用户| 主持人 db | 指令| 时间|| 信息| 进展|
+ ----- + ------ + ----------- + ------ + --------- + ------ + ------- + ----------------------- + ---------- +
| 126 || 本地主机| NULL | 查询| 0 | NULL | 显示完整的程序清单| 0.000 |
+ ----- + ------ + ----------- + ------ + --------- + ------ + ------- + ----------------------- + ---------- +

选择* FROM information_schema.processlist;
+ ----- + -------- + ----------- + ------ + --------- + ----- -+ ----------- + ------------------------------------ ---------- + --------- + ------- + ----------- + --------- -+
| ID | USER | 主机| DB | COMMAND | 时间|| 信息| TIME_MS | 阶段 MAX_STAGE | 进展
+ ----- + -------- + ----------- + ------ + --------- + ----- -+ ----------- + ------------------------------------ ---------- + --------- + ------- + ----------- + --------- -+
| 126 || 本地主机| NULL | 查询| 0 | 执行 选择*从information_schema.processlist | 344.718 | 0 | 0 | 0.000 |
+ ----- + -------- + ----------- + ------ + --------- + ----- -+ ----------- + ------------------------------------ ---------- + --------- + ------- + ----------- + --------- -+
从MariaDB 10.0 .x
显示流程清单;
+ ---- + ----------------- + ----------- + ------ + ------- -+ ------ + ------------------------ + --------------- --- + ---------- +
| ID | 用户| 主持人 db | 指令| 时间|| 信息| 进展|
+ ---- + ----------------- + ----------- + ------ + ------- -+ ------ + ------------------------ + --------------- --- + ---------- +
| 2 | event_scheduler | 本地主机| NULL | 守护进程 2693 | 等待空队列 NULL | 0.000 |
| 4 || 本地主机| NULL | 查询| 0 | 桌锁| 显示过程列表| 0.000 |
+ ---- + ----------------- + ----------- + ------ + ------- -+ ------ + ------------------------ + --------------- --- + ---------- +

注释

要从INFORMATION_SCHEMA.PROCESSLIST中检索类似的“ total” Progress值作为SHOW PROCESSLIST中的值:

SELECT  CASE  WHEN  Max_Stage  <  2  THEN  
进度 ELSE  (阶段- 1 )/ Max_Stage * 100 + 进展/ Max_Stage  END  AS  进展 
FROM  INFORMATION_SCHEMA 。流程清单;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值