擅长:python、mysql、java
<p>可以从<code>supervisorctl status</code>输出解析<a href="http://supervisord.org/subprocess.html#process-states" rel="nofollow">process state</a></p>
<pre><code>import subprocess
def is_celery_worker_running():
ctl_output = subprocess.check_output('supervisorctl status celery_worker'.split()).strip()
if ctl_output == 'unix:///var/run/supervisor.sock no such file':
# supervisord not running
return False
elif ctl_output == 'No such process celery_worker':
return False
else:
state = ctl_output.split()[1]
return state == 'RUNNING'
</code></pre>