2012-04-13 10 views
7

Ich versuche, mit einem USR2 Signal Einhorn neu zu laden, aber ich erhalte die folgende Fehlermeldung auf den Protokollen:Einhorn nicht mit USR2 Nachladen

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 

Ich habe das internets suchen habe aber keine Ahnung, . Es scheint, dass Einhorn versucht, in die PID-Datei zu schreiben? Ich Ausgabe einen kill -s USR2 PID

Dank

Antwort

8

ich in diesen heute lief. Ich gehe davon aus, dass Sie zuvor USR2 an Einhorn gesendet haben, und dies ist jetzt das zweite Mal, dass Sie es versuchen.

Laut der unicorn documentation on signals und USR2: "Ein separates QUIT sollte an den ursprünglichen Prozess gesendet werden, sobald das Kind verifiziert wird, um in Betrieb zu sein."

In diesem speziellen Fall würden Sie die alte PID passieren

kill -s QUIT 23820 

zu töten Oder Sie nutzen die Tatsache aus, kann diese alte PID eine bekannte Datei gespeichert ist (in der Fehlermeldung verwiesen wird) neben die "aktuelle" PID und führen aus:

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