FreeBSD建立开机启动服务(解决启动依赖项未运行导致的出错)

方法一:创建etc/rc.local文件

输入如下类似内容

#!/bin/sh
/usr/local/bin/php /data/test.php【你的脚本】 test【你的参数】
方法二:进入/usr/local/etc/rc.d目录

创建你的启动脚本 如 wsmsg

输入如下类似内容

#!/bin/sh

# PROVIDE: wsmsg
# REQUIRE: LOGIN
# KEYWORD: shutdown

. /etc/rc.subr

name="wsmsg"
rcvar=wsmsg_enable

load_rc_config "$name"

: ${wsmsg_enable="yes"}

pidfile="/var/run/${name}.pid"

command="/usr/local/bin/php"
command_args="-f /usr/local/docs/WebService.php &"

run_rc_command "$1"

通过这种方式,可解决启动脚本依赖项未开启,启动失败问题,再在rc.local文件中加入 


/usr/sbin/service /usr/local/etc/rc.d/IM start
使其开机启动,

# REQUIRE: LOGIN 依赖项 如mysql服务

 服务脚本已加入服务列表,可通过service wsmsg【你的服务名】 start|restart|stop操作服务 
  

注意:需要在/etc/rc.conf文件中加入一行“

wsmsg_enable="YES"
”,如果遇到服务无法停止,可能是pid文件没有生成,需要在服务脚本中加入逻辑,主动生成服务pid文件【wsmsg.pid】,类似代码如下

$pid = getmypid();
file_put_contents('/var/run/wsmsg.pid', $pid);


你可能感兴趣的:(FreeBSD建立开机启动服务(解决启动依赖项未运行导致的出错))