【发布时间】:2012-07-12 05:14:38
【问题描述】:
我在执行命令“# find / -name mysqld”时感到困惑。因为mysqld位于四个地方:
- /usr/libexec/mysqld
- /etc/rc.d/init.d/mysqld
- /var/lock/subsys/mysqld
- /var/run/mysqld
另外三个mysql守护进程的目的是什么?
【问题讨论】:
-
上述问题中只列出了一个可执行文件,而不是三个。
我在执行命令“# find / -name mysqld”时感到困惑。因为mysqld位于四个地方:
另外三个mysql守护进程的目的是什么?
【问题讨论】:
下面是解释
如果你运行which mysqld,你应该会看到第一个
你永远不会直接运行它
当您运行service mysqld start 时,它会调用/etc/rc.d/init.d/mysqld 来启动一个名为mysqld_safe 的程序(运行which mysqld_safe)。 mysqld_safe 和 mysqld 一起作为服务器守护进程。
反过来,mysqld_safe 将启动 mysqld,然后检查退出代码。您可以运行less /etc/rc.d/init.d/mysqld 并查看此内容。如果由于系统关闭或正常的service mysql stop mysqld 没有结束,mysqld_safe 将尝试重新启动mysqld。
【讨论】:
mysqld make 创建文件的目的是在某些文件夹中将自己声明为服务。