[Topic DIscussion] ps -ef | grep mysql显示的进程号一直在变化
Tofloor
poster avatar
顾北GuyU
deepin
2023-06-20 17:42
Author

使用ps -ef | grep mysql查找mysql的内容一直在变化。

那个PID 好像一直在往上增加每次kill -s 9 PID都说PID不存在了

Reply Favorite View the author
All Replies
owen_337
deepin testing team
2023-06-20 17:47
#1

楼主你好,ps -ef |grep mysqld使用这个命令看看哈

Reply View the author
捕风
deepin
2023-06-20 17:56
#2

正常现象,pid就是不确定分配的。

Reply View the author
donaldsebleung
deepin
2023-06-20 17:58
#3

尝试 pgrep mysql | xargs kill -9 ,可在获取 mysql 相关进程的 PID 的同时直接 kill -9 ,绕过因时延导致的 PID 不存在问题

Reply View the author
ThinkYoung
deepin
2023-06-20 18:21
#4

killall

尽量用服务管理停止 重启呗,为啥要手杀?

Reply View the author
顾北GuyU
deepin
2023-06-20 18:34
#5
ThinkYoung

killall

尽量用服务管理停止 重启呗,为啥要手杀?

命令行操作要会滴,以后运维指不定就用上了

Reply View the author
顾北GuyU
deepin
2023-06-20 18:36
#6
owen_337

楼主你好,ps -ef |grep mysqld使用这个命令看看哈

我现在疑惑的点在于,ps -ef | grep XXX

不论这个XXX是否存在都会出现一个PID

到底通过什么判断这个服务在不在??

Reply View the author
顾北GuyU
deepin
2023-06-20 18:36
#7
捕风

正常现象,pid就是不确定分配的。

学到了,谢谢

Reply View the author
owen_337
deepin testing team
2023-06-20 19:12
#8
顾北GuyU

我现在疑惑的点在于,ps -ef | grep XXX

不论这个XXX是否存在都会出现一个PID

到底通过什么判断这个服务在不在??

无法控制实际分配的进程,mysql是在不断变化的,你尝试查mysqld应该就不会频繁变化了

Reply View the author
187******09
deepin
2023-06-20 19:13
#9
顾北GuyU

我现在疑惑的点在于,ps -ef | grep XXX

不论这个XXX是否存在都会出现一个PID

到底通过什么判断这个服务在不在??

XXX不存在情况下显示的PID是grep进程的PID吧

Reply View the author
坐井观天下
deepin
2023-06-20 22:15
#10

PID正常情况下是不变的,ps -ef | grep XXX 显示的结果不要看“grep XXX“那一行,那是grep命令产生的进程。

Reply View the author
BlueCore
deepin
2023-06-20 23:57
#11

MySQL实例成功启动后,PID虽然是随机的,但是一旦已成功启动,理论上这个PID在下次重启之前,是一直保持不变的。
如果您电脑上的mysqld进程的PID一直在不断变化,可能是您的MySQL服务异常,导致服务一直不停地尝试重新把实例拉起来,导致您每次查询MySQL实例的PID时,都会给出一个不一样的PID。
建议通过 命令 ps -ef | grep mysqld| grep -v grep | xargs kill -9 查找并删除实例,通过mysql log日志查找故障原因,解决后,再重启MySQL实例。

Reply View the author
顾北GuyU
deepin
2023-06-21 00:07
#12
BlueCore

MySQL实例成功启动后,PID虽然是随机的,但是一旦已成功启动,理论上这个PID在下次重启之前,是一直保持不变的。
如果您电脑上的mysqld进程的PID一直在不断变化,可能是您的MySQL服务异常,导致服务一直不停地尝试重新把实例拉起来,导致您每次查询MySQL实例的PID时,都会给出一个不一样的PID。
建议通过 命令 ps -ef | grep mysqld| grep -v grep | xargs kill -9 查找并删除实例,通过mysql log日志查找故障原因,解决后,再重启MySQL实例。

大致和你说的一致

Reply View the author
顾北GuyU
deepin
2023-06-22 00:54
#13

楼主来终结话题啦!

问题原因是:我对ps -ef显示的内容没理解清楚

GuBei 14053 13353 0 16:49 pts/1 00:00:00 grep mysql

这行命令显示的grep进程的信息,grep这东西调用一次执行一次。

所以当我去Kill这个PID的时候肯定不存在啦

更加搞笑的是,我的MySQL没有安装好。那天的情况是MySQL初始化直接失败了。

我还在那里傻傻的以为运行了没有结束掉MySQL 进程

(那天我甚至没用弄清楚MySQL如何通过二进制压缩包安装)

所以来寻求解决方法的各位老哥不好意思啦

总结:

先把基本的软件的显示理解清楚并且看明白在去寻求解决方法,不然就是竹篮打水一场空。QAQ

Reply View the author