我与 Ubuntu 10.04 中有两个程序发生冲突。
我配置了init.d
一个启动程序的文件。但是,这个程序需要 MySQL 才能启动。当我启动机器时,很明显这个脚本在 MySQL 成功启动之前就被执行了。
我对 Ubuntu 的启动顺序和运行级别不太熟悉。如何确保 MySQL 正在运行前我的init.d
脚本被执行了吗?我听说 MySQL 使用另一种启动方法,init.d
所以我不确定该怎么做。
谢谢!
答案1
10.04 配备了新的 upstart 系统。
下面是启动/停止 mysql upstart 的示例:http://karlssonondatabases.blogspot.nl/2010/12/ubunto-upstart-for-automatic-mysql.html
看一下这个start on
部分:
# # Recorded Future 的 MySQL 服务 # 描述“MySQL 服务器” 作者“安德斯·卡尔森,记录的未来” 启动(网络设备启动 和本地文件系统 和运行级别 [2345]) 在运行级别 [016] 停止 期望分叉 终止超时 2 ...
当满足以下条件时,它将通知系统 mysql 必须启动:
net-device-up
and local-filesystems
and runlevel [2345])
并且当满足以下条件时必须停止:
runlevel [016]
因此,您可以做的是根据此示例为您的程序创建一个 upstart 脚本,并告诉start on mysql
它在 mysql 启动后启动。
有关新贵的更多信息: