我有一项服务foo
,目前从运行级别3及更高级别开始。我怎样才能在不使用的情况下阻止它这样做update-rc.d foo stop 3 .
,它(如果我理解正确的话)会在每次运行级别更改时关闭服务。
(即,如果我处于运行级别1并启用foo
,那么当我更改为运行级别3 时,它将被禁用,不是吗?)
运行 Debian GNU/Linux Lenny。
在 Linux 中,我编写了一些要在引导期间执行的脚本,并尝试了各种安装它们的方法。对于较大的脚本,我将放入/etc/init.d
并链接适当的/etc/rc.d/rc?.d
运行级别。对于较小的脚本,我将附加到/etc/rc.d/rc.local
. 这个过程似乎很顺利。
现在我已经调整了我的一个脚本,但它失败了。我花了很长时间来诊断它,因为我似乎无法捕获错误输出。我已经检查/var/log/messages
并浏览了其余部分,/var/log
但找不到任何有用的东西。
有人知道吗:
提前致谢。
supervisord
FreeBSD 上是否有预先存在的启动脚本?如果没有,是否有为rc.d
FreeBSD编写脚本的好指南?我对这个平台很陌生。
谢谢。
更新:
我现在在 中有以下内容/usr/local/etc/rc.d/supervisord
,但它似乎不起作用。我在与 supervisord 相关的启动滚动中没有看到任何内容。
#!/bin/sh
# PROVIDE: supervisord
# REQUIRE: LOGIN
# KEYWORD: shutdown
. /etc/rc.subr
name="supervisord"
rcvar=`set_rcvar`
load_rc_config "$name"
command="/usr/local/bin/${name}"
command_args="-c /usr/local/etc/supervisord.conf"
supervisord_enable=${supervisord_enable-"NO"}
supervisord_pidfile=${supervisord_pidfile-"/var/run/supervisord.pid"}
pidfile="${supervisord_pidfile}"
run_rc_command "$1"
Run Code Online (Sandbox Code Playgroud) 我的问题与此问题完全相同,只是我想更改 FreeBSD 中的服务。
我做了一些研究,我发现 rcorder 命令可以提供具有以下参数的完整服务顺序。
rcorder /etc/rc.d/* /usr/local/etc/rc.d/*
Run Code Online (Sandbox Code Playgroud)
此外,我可以添加任何 rc.d 脚本的 REQUIRE 选项,以便在它之前启动我的服务。我不喜欢这种方式,因为我不想更改其他程序的 rc.d 脚本。有没有更合适的方法来做到这一点?
谢谢...
我在位置开发了以下脚本 /usr/local/etc/rc.d/bluesky
#!/bin/sh
# PROVIDE: bluesky
# REQUIRE: mysql sshd
# BEFORE:
# KEYWORD:
. /etc/rc.subr
name="bluesky"
rcvar=bluesky_enable
start_cmd="${name}_start"
stop_cmd=":"
load_rc_config $name
: ${bluesky_enable:=no}
: ${bluesky_msg="HTTP server starts ..."}
bluesky_start(){
echo $PATH
export PATH=$PATH:/usr/local/bin/
echo $PATH
### Run Node server ###
/usr/local/bin/node /usr/home/ict/Documents/bluesky/server.js
echo "$bluesky_msg"
}
run_rc_command "$1"
Run Code Online (Sandbox Code Playgroud)
我也在我的/etc/rc.conf
文件中启用了它:
bluesky_enable="YES"
Run Code Online (Sandbox Code Playgroud)
当我重新启动服务器时,脚本工作正常并在端口 80 上启动 HTTP 服务器。唯一的问题是脚本不会被发送到后台或不会作为守护程序启动。我想知道如何在启动时在后台或作为守护程序运行脚本。
rc.d ×5
freebsd ×3
daemon ×1
debian ×1
debian-lenny ×1
init.d ×1
linux ×1
logging ×1
startup ×1
supervisord ×1