0

bashを使用して次のコマンドを実行し、シェルを終了しても問題なくDjangoアプリケーションを起動します。

python manage.py runfcgi daemonize=true ...

Jenkinsが上記と同じコマンドを実行すると、Djangoアプリケーションが実行され、bashを使用して実行されます。しかし、ジョブが終了したときにアプリケーションが強制終了されるのはなぜですか?

4

2 に答える 2

2

Jenkinsは、ジョブごとに新しいシェルセッションを開始し、ジョブが完了するとそれを閉じていると思います。これにより、そのセッションで開始されたすべてのプロセスが終了します。

セッションを閉じた後もプロセスを持続させたい場合は、次のコマンドで開始できますnohup

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

過去にファブリックを使用して同様の問題が発生しました。daemonizeフラグをtrueに設定しても、サービスが終了していました。私nohupはそれを回避するために使用しました。

于 2012-06-25T16:37:07.893 に答える
0

私はここで解決策を見つけました、そしてそれは私のために働きます https://wiki.jenkins-ci.org/display/JENKINS/ProcessTreeKiller

于 2012-06-26T04:46:56.400 に答える