我正在尝试god
在 Debian 启动期间启动。我在/etc/init.d/
目录中添加了一个脚本,看起来像这样。
#!/usr/bin/sh
### BEGIN INIT INFO
# Provides: god
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start god process monitoring
# Description: Start god process monitoring
### END INIT INFO
god_conf="absolute/path/to/god.conf"
god_pid_file="/var/run/god/god.pid" ; mkdir -p `dirname $god_pid_file`
god_log_file="/var/log/god/god.log" ; mkdir -p `dirname $god_log_file`
case "$1" in
start)
god -c "$god_conf" -P "$god_pid_file" -l "$god_log_file"
RETVAL=$?
echo "God started"
;;
...
Run Code Online (Sandbox Code Playgroud)
我运行以下命令来创建必要的符号链接 sudo update-rc.d god defaults
但是,当我重新启动机器时,上帝似乎没有启动。我的问题是,我该如何调试这个问题?
我已经看过了dmesg
,但没有看到任何与god
. 我也看了看,syslog
没有看到那里有任何东西。另外,god.log
文件是空的,没有god.pid
文件。
我不知道问题是否是我的 init 脚本甚至没有被调用,或者它在尝试启动 God 时是否失败。我曾尝试通过运行手动启动上帝sudo /etc/init.d/god start
,这似乎工作正常。有任何想法吗?
Run Code Online (Sandbox Code Playgroud)#!/usr/bin/sh
sh
在几乎所有 UNIX 中,其正常位置是/bin/sh
。一些unix变体已经合并了/bin
和/usr/bin
,所以/usr/bin/sh
也可以工作,但是可移植的方式是/bin/sh
,所以这就是你应该在shebangs中使用的方式。对您来说最重要的是,在 Debian 上,除非您不遗余力,否则不会有/usr/bin/sh
.
归档时间: |
|
查看次数: |
40761 次 |
最近记录: |