我尝试在Debian 8板上启动aftpd
。
我已经安装了aftpd
包,它自动创建了以下/etc/init.d/aftpd
启动脚本:
#! /bin/sh
#
# This is an init script for openembedded
# Copy it to /etc/init.d/atftpd and type
# > update-rc.d atftpd defaults 60
#
test -f /usr/sbin/atftpd || exit 0
test -d /srv/tftp || mkdir -p /srv/tftp
case "$1" in
start)
echo -n "Starting tftp daemon: atftpd"
start-stop-daemon --start --quiet --exec /usr/sbin/atftpd --daemon --port 69
echo "."
;;
stop)
echo -n "Stopping tftp daemon: atftpd"
start-stop-daemon --stop --quiet --exec /usr/sbin/atftpd
echo "."
;;
reload|force-reload)
start-stop-daemon --stop --quiet --signal 1 --exec /usr/sbin/atftpd
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: /etc/init.d/atftpd {start|stop|reload|restart|force-reload}"
exit 1
esac
exit 0
但是当机器启动时,我收到以下错误消息:
Starting tftp daemon: atftpdstart-stop-daemon: unrecognized option '--daemon'
BusyBox v1.24.1 (2018-11-21 22:38:19 CET) multi-call binary.
Usage: start-stop-daemon [OPTIONS] [-S|-K] ... [-- ARGS...]
.
似乎start-stop-daemon
为他服用--daemon
。
为什么?
您必须使用--
来分隔可执行文件的参数。引用man page of start-stop-daemon:
在命令行之后给出的任何参数都会未经修改地传递给正在启动的程序。
参数“像往常一样”传递。由于在/usr/sbin/atftpd
之后有空白,其余的以标准方式传递给start-stop-daemon
。