2014-07-03 7 views
5

Sto provando a configurare runit e ad accedere alla mia VM debian wheezy. Finora sono riuscito a ottenere il servizio gunicorn iniziare seguendo questa impostazione:runit: impossibile bloccare l'errore di supervisione su debian

sudo mkdir /etc/sv/gunicorn 
sudo vi /etc/sv/gunicorn/run 
sudo ln -s /etc/sv/gunicorn/run /etc/service 

mio file di esecuzione di registro ha:

LOG_DIR=/home/$USER/logs/gunicorn/ 

exec svlogd -tt $LOG_DIR 

Quando eseguo sudo runsvdir/etc/servizio/gunicorn

runsv supervise: fatal: unable to lock supervise/lock: temporary failure 

Non ho idea di cosa sto facendo male, di eventuali suggerimenti?

risposta

2

Sei sicuro che il processo precedente si sia chiuso completamente? Potrebbe essere necessario trovare e rimuovere un file .pid .lock o che dice al sistema che è in uso da un altro processo

4

In ls -la /etc/service/gunicorn/supervise non ho visto un .lock ma c'era un file lock. Rimozione di quel file di blocco ha causato un po 'di caos.

Così mi sono liberato del collegamento simbolico; ucciso i pids in ps aux | grep gunicorn e relinked. Potrebbe essere il fine ultimo, ma ha fatto il lavoro.

0

Ciò può essere causato dall'arresto del daemon runit mentre i singoli servizi sono ancora in esecuzione.

Invece di eliminare & ricreare symlinks per il servizio runit:

sv stop myservice 
rm /etc/sv/myservice/supervise/lock 
sv start myservice # or start the runit service 

Nel tuo caso particolare, il vostro symlink era errato & dovrebbe essere:

ln -s /etc/sv/gunicorn /etc/service/gunicorn 

si dovrebbe essere un collegamento simbolico nella directory sv non il file run in /etc/service/myservice