仅在 mysqld 启动后才在启动时自动启动 PtokaX

仅在 mysqld 启动后才在启动时自动启动 PtokaX

我有以下脚本/etc/init.d/server.sh

#!/bin/bash

### BEGIN INIT INFO
# Provides:             PtokaX server
# Short-Description:    PtokaX P2P server
### END INIT INFO

/home/serve/PtokaX/PtokaX -d -c /home/serve/PtokaX

其中,-d用于作为守护进程启动并-c指定配置文件的位置。

我在 PtokaX 中编写的脚本连接到 MySQL 服务器,并且 PtokaX 服务器在 MySQL 服务器启动之前启动。这导致 PtokaX 脚本引发错误,并且集线器上的几个功能失败。

我可以以某种方式更新脚本以便它仅在 MySQL 守护进程启动时才启动吗?

答案1

首先,将 rc-script 重命名为ptokax(这个名字server.sh很蹩脚,因为它没有向用户传达任何信息)。

然后尝试将该文件中的 LSB 标头更改为

### BEGIN INIT INFO
# Provides:          ptokax
# Required-Start:    $network mysql
# Required-Stop:     $network mysql
# Should-Start:      $time
# Should-Stop:       $time
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start and stop the PtokaX DC daemon
# Description:       Controls the PtokaX DC server daemon
### END INIT INFO

然后运行

# insserv ptokax

使insserv了解您的服务并重建其依赖关系图。

我相信如今老式的

# update-rc.d ptokax defaults

也应该会触发insserv但我不太确定。

也可以看看关于 LSB 头字段的含义。请注意,您可能还希望开始依赖其他虚拟设施,例如$remote_fs$named$syslog具体取决于 PtokaX 所依赖的设施。

相关内容