“start-stop-daemon:无法统计”

我有以下的启动脚本:

NAME="examplestartstop" PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/node/bin" LOGFILE="/var/log/$NAME/start-stop-daemon.log" APP_DIR="/usr/bin" APP_BIN="tail -250f /var/log/apache2/error.log" USER="minecraft" GROUP="minecraft" # Include functions set -e . /lib/lsb/init-functions start() { echo "Starting '$NAME'... " start-stop-daemon --start --chuid "$USER:$GROUP" --background --make-pidfile --pidfile /var/run/$NAME.pid --exec "$APP_DIR/$APP_BIN" $LOGFILE || true echo "done" } 

当我尝试运行脚本我得到以下输出:

 $ ./test start Starting 'examplestartstop'... start-stop-daemon: unable to stat /usr/bin/tail -250f /var/log/apache2/error.log (No such file or directory) done 

我在$APP_DIR/$APP_BIN部分$APP_DIR/$APP_BIN了什么?

您正在传递命令名称命令参数作为要执行的命令。 start-stop-daemon查找名为/usr/bin/tail -250f /var/log/apache2/error.log的命令,当然这个命令不存在。 相反,你想调用类似(不重要的部分遗漏):

 APP_DIR="/usr/bin" APP_BIN="tail" APP_ARGS="-250f /var/log/apache2/error.log" start-stop-daemon --start --exec "$APP_DIR/$APP_BIN" -- $APP_ARGS 

(注意在命令和它的参数之间)