Python 启动webiopi服务的Linux脚本

Python 启动webiopi服务的Linux脚本,python,linux,raspberry-pi,webiopi,Python,Linux,Raspberry Pi,Webiopi,1) -x“$DAEMON”只检查python是否已安装,但没有检查webiopi包,不是吗 2) Python-m是否会运行整个包,而不仅仅是单个模块 LOG_FILE=/var/log/webiopi CONFIG_FILE=/etc/webiopi/config PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="WebIOPi" NAME=webiopi HOME=/usr/share/webiopi/htdocs DAEMON=/usr/bin/pyth

1) -x“$DAEMON”只检查python是否已安装,但没有检查webiopi包,不是吗

2) Python-m是否会运行整个包,而不仅仅是单个模块

LOG_FILE=/var/log/webiopi
CONFIG_FILE=/etc/webiopi/config

PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="WebIOPi"
NAME=webiopi
HOME=/usr/share/webiopi/htdocs
DAEMON=/usr/bin/python
DAEMON_ARGS="-m webiopi -l $LOG_FILE -c $CONFIG_FILE"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
3) 配置文件/etc/webiopi/config值是如何进入/etc/default/webiopi的?从上面看,我没有看到这样做的命令

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME
4) 上面只启动python进程,而不启动webiopi?python测试的目的是什么?它并没有指定返回0吗

#
# Function that starts the daemon/service
#
do_start()
{
    # Return
    #   0 if daemon has been started
    #   1 if daemon was already running
    #   2 if daemon could not be started
    start-stop-daemon --start --quiet --chdir $HOME --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
        || return 1

5) 上图:通过在后台启动python-m webiopi*来启动webiopi?

守护进程=/usr/bin/python
是一种非常落后的方法。
守护进程
文件应该是您的实际脚本,而不是用于运行它的解释器。如果没有,则使用运行的命令创建一个单行程序,并将其安装在类似
/usr/bin/webiopi
的位置。也许还可以添加一些健全性检查来验证Python库是否已安装。@triplee,所以在问题1中,它没有检查包webiopi?这是正确的;您现在拥有的代码没有检查包。但它将失败,这可能是一个足够好的迹象,表明它不可用,只是不是非常用户友好。
    start-stop-daemon --start --quiet --chdir $HOME --pidfile $PIDFILE --exec $DAEMON --background --make-pidfile -- \
        $DAEMON_ARGS \
        || return 2