当jenkins工作结束时,为什么Django应用程序会退出?

时间:2012-06-25 16:24:11

标签: django jenkins

我使用bash运行以下命令来启动Django应用程序,即使我从该shell退出也没有任何问题。

python manage.py runfcgi daemonize=true ...

当Jenkins运行上述相同命令时,Django应用程序运行以及使用bash运行。但是为什么应用程序在作业结束时会被杀死?

2 个答案:

答案 0 :(得分:2)

我猜想Jenkins会为每个作业启动一个新的shell会话,然后在作业完成时关闭它。这将终止在该会话中启动的所有进程。

如果您希望关闭会话后进程保持不变,可以使用nohup启动它:

nohup python manage.py runfcgi daemonize=true ...

我过去使用过类似的问题 - 即使我将daemonize标志设置为true,服务也会终止。我使用nohup解决了这个问题。

答案 1 :(得分:0)

我在这里找到了一个解决方案,它对我有用 https://wiki.jenkins-ci.org/display/JENKINS/ProcessTreeKiller