2010-03-14 16 views
8

खैर, शीर्षक यह सब कहता है। मेरे पास एक लिनक्स स्क्रिप्ट है जो मैं अपने लिनक्स बॉक्स पर एक सेवा के रूप में चलाना चाहता हूं (एक मैं शुरू और रोक सकता हूं)। मैं यह देखने में सक्षम था कि विंडोज hereरूबी स्क्रिप्ट सेवा के रूप में

कुछ रीडिंग्स डेमन्स या क्रॉन कार्यों को बनाने के लिए इंगित करते हैं।

मुझे बस कुछ आसान चाहिए जो मैं अपने बॉक्स के रीबूट पर कॉल कर सकता हूं, और जब भी मैं चाहूं तो रोक/शुरू कर सकता हूं। मेरी स्क्रिप्ट एक आंतरिक नींद कॉल है, और पहले से

धन्यवाद "अनन्त लूप" में चलता है

उत्तर

14

मुझे वास्तव में रूबी स्क्रिप्ट का उपयोग करके ऐसा करने का एक बेहतर तरीका मिला है।

इस तरह मैंने किया:

सबसे पहले, मैं डेमॉन

gem install daemons 

स्थापित तब मैंने किया:

require 'rubygems' 
require 'daemons' 

pwd = File.dirname(File.expand_path(__FILE__)) 
file = pwd + '/runner.rb' 

Daemons.run_proc(
    'my_project', # name of daemon 
    :log_output => true 
) do 
    exec "ruby #{file}" 
end 

मैं तो एक फ़ाइल runner.rb कहा जाता है बनाने के लिए, जिसमें मैं अपनी स्क्रिप्ट्स को कॉल कर सकता हूं जैसे:

require "/var/www/rails/my_project/config/environment" 
Post.send('details....') 

डेमन्स एक महान मणि है!

+5

उपयोग करने के लिए बेहतर: "मणि इंस्टॉल डिमन्स" एकवचन एक अलग है। आप शायद http://rubygems.org/gems/daemons चाहते हैं – genkilabs

3

RAA - deamons रूबी स्क्रिप्ट से यूनिक्स डेमॉन बनाने के लिए एक verfy उपयोगी उपकरण है।

+0

यही नहीं बल्कि जटिल। क्या आप उपयोग का एक उदाहरण पोस्ट कर सकते हैं? या कुछ भी आसान है? –

+0

डेमॉन सरल नहीं हैं। क्षमताओं के बारे में बहुत सारी धारणाएं हैं जिन्हें ओएस एक डेमॉन से अपेक्षा करता है ... उन क्षमताओं को बनाना और परिभाषित करना डेमन्स की जटिलता का एक महत्वपूर्ण हिस्सा है। –

0

1.9.x माणिक से एक समारोह में बनाया गया है: लगता है

Process.daemon

संबंधित मुद्दे