Supervisord を停止したときにサブプロセスが確実に停止されるようにするにはどうすればよいですか?
Supervisord を使用して 2 つの Celery ワーカーを実行しています。各ワーカーのコマンドは次のとおりです。
command=/usr/local/myapp/src/manage.py celery worker --concurrency=1 --loglevel=INFO
Supervisord を起動すると、完全に実行されますが、実行するsudo service supervisord stop
と、ワーカーが停止したと報告されます。
celery_1: stopped
celery_2: stopped
ただし、実行するps aux | grep celery
と、まだ実行されていることがわかります。
www-data 27667 0.0 1.5 318420 64360 ? S 10:45 0:00 manage.py celery worker --concurrency=1 --loglevel=INFO
www-data 27668 0.0 1.5 318420 318416 ? S 10:45 0:00 manage.py celery worker --concurrency=1 --loglevel=INFO