使用start-stop-daemon的init django服务器就像服务一样

时间:2018-02-05 21:25:59

标签: python django linux

我正在尝试在Ubuntu 16 Linux上初始化django项目的virtualenv和runserver命令

我在/etc/init.d/initfile上创建了一个文件,其中包含启动和停止服务的命令:

do_start()
{
    echo -n "Starting " $NAME " ..."

    if [ -f $PIDFILE ]
    then 
        echo "\n-> Service " $NAME " is running."
    else
        start-stop-daemon --start --background --quiet --name $NAME --pidfile $PIDFILE --make-pidfile --exec $DAEMON
        echo "\n-> Service " $NAME " started..."
    fi
}

$DAEMON是一个文件:

VIRTUALENV_DIR=/home/user/python/DjangoProjects/newEnv1
SITE_DIR=/home/user/python/DjangoProjects/newEnv1/sampleSite


source $VIRTUALENV_DIR/bin/activate
python $SITE_DIR/manage.py runserver 0:8080

但当我用ps -fu root检查过程时生成了3个pid id:22875,22878和22880

Image with multiple pid ids

问题是,当我执行stop命令时,只停止了包含在$ PIDFILE中的pid id,但是另一个正在运行,所以服务器仍在运行。

你能帮帮我吗?感谢

0 个答案:

没有答案