加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – Upstart:在非upstart进程之后启动服务

发布时间:2020-12-13 18:11:28 所属栏目:Linux 来源:网络整理
导读:在Ubuntu 10.04上,我需要使用upstart启动我的服务,但只有当 mysql启动并运行时. 问题是mysql本身不是由upstart处理的,所以我不能使用“启动”功能. 我能做什么 ? 解决方法 你有几个选择: 1)让mysql告知Upstart它已经通过发出一个事件来启动 initctl发出mys
在Ubuntu 10.04上,我需要使用upstart启动我的服务,但只有当 mysql启动并运行时.

问题是mysql本身不是由upstart处理的,所以我不能使用“启动”功能.

我能做什么 ?

解决方法

你有几个选择:

1)让mysql告知Upstart它已经通过发出一个事件来启动

initctl发出mysql-started“或类似的.

这可以通过将initctl调用添加到/etc/init.d/mysql来处理.

2)从正常的SysV运行级别禁用mysql并创建一个包装器Upstart作业
启动它(不是这不处理停止 – 只是一个例子):

cat >>/etc/init/mysql-sysv.conf<<EOT
  # wait for SysV job to finish
  start on stopped rc
  exec /etc/init.d/mysql start
EOT

然后,让你的工作“开始启动mysql-sysv”.

这里的问题是,如果某人(或某些系统工具自动)将/etc/rc?.d链接重新添加到原始/etc/init.d/mysql服务脚本,您将遇到麻烦.此外,您可能会发现mysql实际上还没有准备好,直到它的主pid开始后的一段时间.数据库存在问题,因为即使它们已经启动(转换日志重放等),它们也可能需要一些时间来“在线”.

3)创建一个“启动停止rc”的新手工作(“服务员”)(即所有SysV工作声称已完成时启动),然后轮询等待mysql准备就绪,然后退出.让你的工作“开始停止服务员”.

4)将mysql转换为Upstart作业(最佳选项).这里有一个新贵mysql配置的起点:https://github.com/devo-ps/init-scripts/tree/master/mysql/ubuntu

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读