Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在状态高于x的mysql中显示完整的processlist?_Mysql_Bash_Command Line - Fatal编程技术网

如何在状态高于x的mysql中显示完整的processlist?

如何在状态高于x的mysql中显示完整的processlist?,mysql,bash,command-line,Mysql,Bash,Command Line,我正在编写一个“系统检查”bash脚本,对于其中一项,我想检查MySQL中所有正在运行的进程,但我只关心它们的状态是否高于30 在MySQL中,有没有办法只显示状态高于x的进程列表,比如超过30个 我尝试了显示processlist,其中state>=30 我有版本5.5.58-0+deb8u1。以下网站可能会帮助您 正如@Harimaman Radhakrishnan回答的那样,SHOW PROCESSLIST命令无法修改 然而,通过读取他的链接,showProcessList实际上读取的是i

我正在编写一个“系统检查”bash脚本,对于其中一项,我想检查MySQL中所有正在运行的进程,但我只关心它们的状态是否高于30

在MySQL中,有没有办法只显示状态高于x的进程列表,比如超过30个

我尝试了
显示processlist,其中state>=30


我有版本5.5.58-0+deb8u1。

以下网站可能会帮助您


正如@Harimaman Radhakrishnan回答的那样,
SHOW PROCESSLIST
命令无法修改

然而,通过读取他的链接,
showProcessList
实际上读取的是
information\u schema.PROCESSLIST

这意味着您可以对
信息\u架构执行常规查询。processlist
如下所示:

SELECT * 
FROM information_schema.processlist 
WHERE TIME > 30
如果你看,你可以看到每列的意思

我编写了一个查询来选择所有运行超过30秒的进程,但这也可能只是一个休眠连接,例如一个在开始时连接的程序,然后在再次关闭该程序之前保持连接的活动状态

这意味着该进程可以运行几分钟、几小时或几天,但大部分时间都将使用
COMMAND='Sleep'

如果只希望看到长时间运行的查询,则应将查询更新为:
SELECT*FROM information\u schema.processlist WHERE COMMAND!='睡眠时间>30

当状态改变时,时间被重置


从文档中可以看到:“线程处于当前状态的时间(以秒为单位)。

为了我和其他对此有帮助的人,您能在这里列出我应该使用的命令并解释睡眠与状态的关系吗?谢谢