0

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

python manage.py runfcgi daemonize=true ...

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

4

2 回答 2

2

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

如果您希望进程在关闭会话后继续存在,您可以使用以下命令启动它nohup

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

过去我在使用fabric 时遇到过类似的问题——即使我将daemonize 标志设置为true,服务也会终止。我曾经nohup解决它。

于 2012-06-25T16:37:07.893 回答
0

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

于 2012-06-26T04:46:56.400 回答