2012-04-13 17 views
7

मैं एक USR2 संकेत के साथ गेंडा को फिर से लोड करने के लिए कोशिश कर रहा हूँ के साथ पुन: लोड नहीं है, लेकिन मैं लॉग पर निम्न त्रुटि मिलती है:यूनिकॉर्न 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 

मैं खोज इन्टरनेट है लेकिन एक सुराग नहीं है । ऐसा लगता है कि यूनिकॉर्न पिड फ़ाइल को लिखने की कोशिश कर रहा है? मैं एक kill -s USR2 PID

धन्यवाद

उत्तर

8

मैं आज में भाग जारी करने कर रहा हूँ। मुझे लगता है कि आपने पहले यूएसआर 2 को यूनिकॉर्न भेजा है, और यह दूसरी बार है जब आप ऐसा करने की कोशिश कर रहे हैं।

प्रति unicorn documentation on signals और USR2

: "। एक अलग QUIT मूल प्रक्रिया को भेजा जाना चाहिए एक बार बच्चे और चल रहा होने के लिए सत्यापित किया गया है"

इस विशेष मामले में, आप

kill -s QUIT 23820 

को मारने के लिए वर्ष पीआईडी ​​दे देते हैं या, यदि आप इस तथ्य का लाभ ले सकते इस पुराने पीआईडी ​​एक ज्ञात फ़ाइल (अपने त्रुटि संदेश में संदर्भित) संग्रहीत किया जाता है के साथ "वर्तमान" पीआईडी, और निष्पादित करें:

kill -s QUIT `cat /home/user/app.git/tmp/unicorn.pid.oldbin` 
संबंधित मुद्दे