这是我的代码:
#!/bin/bash daemon="$APPVENV/bin/uwsgi" args="--emperor $APPCONF/uwsgi/app.ini" pid="$APPDIR/emperor.pid" case "\$1" in start) echo "Starting uwsgi" start-stop-daemon -m -p \$pid --start --exec \$daemon -- \$args ;; stop) echo "Stopping script uwsgi" start-stop-daemon --signal INT -p \$pid --stop \$daemon -- \$args ;; reload) echo "Reloading conf" kill -HUP \$(< \$pid) ;; *) echo "Usage: /etc/init.d/uwsgi {start|stop|reload}" exit 1 ;; esac exit 0
当我尝试使用它,它说我错过了LSB标签和覆盖。 我使用Google,并以此为例:
### BEGIN INIT INFO # Provides: scriptname # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO
我很困惑,首先是remote_fs和syslogvariables,这是我需要保持默认的东西吗? 其次,我怎么知道我应该把什么数字作为默认启动和停止?
$ remote_fs(和$ syslog)用于告诉脚本需要在执行当前脚本之前启动远程文件系统。 除非你的脚本需要它(这似乎不太可能),你可以删除$ remote_fs部分。 你应该保留$ syslog。 你也可以看看这里有一个更好的理解你可以/应该使用什么。
至于你看到的数字,这些是脚本被调用的启动,重启或关机的运行级别。 这里有一些有用的信息。 大多数情况下,默认值都可以。