Capistrano कार्यशुभारंभ पृष्ठभूमि प्रक्रिया
namespace :service do
desc "start daemontools (svscan/supervise/svscanboot)"
task :start, :roles => :app do
sudo "svscanboot&"
end
end
अब यह काम नहीं करता: svscanboot प्रक्रिया बस नहीं चलता है। इससे मुझे sleep
: https://github.com/defunkt/resque/issues/284 अन्य स्रोतों ने मुझे nohup
, redirection
, और pty => true
पर इंगित करने में मदद की, इसलिए मैंने इन सभी को आजमाया।
run "nohup svscanboot >/tmp/svscanboot.log 2>&1 &" # NO
run "(svscanboot&) && sleep 1" # NO
run "(nohup svscanboot&) && sleep 1" # YES!
अब, क्या कोई मुझे बता सकता है कि मुझे नींद का बयान क्यों चाहिए और नोहप क्या अंतर करता है? रिकॉर्ड के लिए सभी उपरोक्त रन समान रूप से अच्छी तरह से चलते हैं यदि उपयोगकर्ता खोल से चलाया जाता है, तो समस्या केवल कैपिस्ट्रानो के संदर्भ में होती है।
धन्यवाद
'नोहुप' यह सुनिश्चित करता है कि जब आप खोल समाप्त होने के बाद 'SIGHUP' सिग्नल प्राप्त करते हैं तो आपका आदेश समाप्त नहीं होता है। हालांकि, मैं भी उत्सुक हूं कि नींद कमांड क्यों फर्क पड़ता है। – Graeme
नींद मेरी दुनिया में भी एक फर्क पड़ता है। यह रहस्यमय है कि कैपिस्ट्रानो के साथ इतना आसान काम इतना आश्चर्यजनक क्यों है। – cbmanica
मुझे वही व्यवहार दिखाई देता है। और एक ही चीज़ के बारे में सोच रहा है। – aslakjo