2012-04-13 16 views
7

sto cercando di ricaricare unicorno con un segnale USR2, ma ottengo il seguente errore sui tronchi:Unicorn Non ricaricare con USR2

E, [2012-04-13T21:27:00.801192 #24474] ERROR -- : old PID:23820 running with existing pid=/home/user/app.git/tmp/unicorn.pid.oldbin, refusing rexec 

Sono ricercare le internet ma non hanno la più pallida idea . Sembra che l'unicorno stia cercando di scrivere nel file pid? Sto emissione di un kill -s USR2 PID

Grazie

risposta

8

mi sono imbattuto in questo oggi. Suppongo che tu abbia precedentemente inviato USR2 all'unicorno, e questa è la seconda volta che stai provando a farlo.

Per il unicorn documentation on signals e USR2: "Un QUIT separato deve essere inviato al processo originale una volta verificato che il bambino sia attivo e in esecuzione."

In questo caso particolare, che ci si passa il vecchio PID per uccidere

kill -s QUIT 23820 

In alternativa, si può approfittare del fatto che questo vecchio PID è memorizzato un file noto (si fa riferimento nel messaggio di errore) a fianco il PID "corrente" ed eseguire:

kill -s QUIT `cat /home/user/app.git/tmp/unicorn.pid.oldbin` 
Problemi correlati