2014-06-19 51 views
2

我在Ubuntu 14.04上運行Digital Ocean上的VPS。無法殺死主管啓動的芹菜進程

我設置監督員運行bash腳本出口環境瓦爾然後開始芹菜:

#!/bin/bash 

DJANGODIR=/webapps/myproj/myproj 

# Activate the virtual environment 
cd $DJANGODIR 
source ../bin/activate 

export REDIS_URL="redis://localhost:6379" 

... 

celery -A connectshare worker --loglevel=info --concurrency=1 

現在我已經注意到,主管似乎並不當我做supervisorctl停止查殺這些過程。此外,當我嘗試手動殺死進程時,他們不會停止。我如何爲主管設置一個更好的腳本,以及如何殺死正在運行的進程?

回答

3

發送kill -9必須殺死進程。如果supervisorctl stop不會停止您的過程,則可以嘗試將stopsignal設置爲其他值之一,例如QUITKILL

您可以在supervisord documentation中看到更多。

+0

另外值得注意的是,我不得不切換到啓動該進程的用戶以殺死它。 – dallinns

5

您應該將stopasgroup=true選項配置爲supervisord.conf文件。

因爲你不僅殺死父進程而且殺死子進程。

+2

爲我工作,但在supervisord.conf中加入intsead,我不得不將它添加到conf.d中的[program:] configs中。 –

+0

@elGEoRgETheKiLLa是的。希望它能幫助你弄清楚。 –