गैर-रूट उपयोगकर्ता द्वारा पृष्ठभूमि प्रोग्राम को ऑटोस्टार्ट कैसे करें?


14

एक गैर-रूट उपयोगकर्ता के रूप में, मैं सिस्टम बूट होने पर एक पृष्ठभूमि नौकरी चलाना चाहता हूं। यह एक ऐसी सेवा है जिसे रूट विशेषाधिकार की आवश्यकता नहीं है। क्या इसे करने का कोई तरीका है?

एक तरह से अंदर डालना sudo -u user commandहै rc.local, लेकिन संपादन के rc.localलिए रूट विशेषाधिकार की आवश्यकता होती है।

एक और तरीका यह है कि इसे cronहर मिनट से लॉन्च किया जाए और किसी भी चल रहे उदाहरण के लिए जांच की जाए, लेकिन सबसे पहले यह सिस्टम को अनावश्यक रूप से जगाता है और दूसरी बात यह है कि रनिंग इंस्टेंस को चेक करने में दौड़ की स्थिति हो सकती है।

एक तीसरा तरीका इसे चलाने का है ~/.bash_profile, लेकिन मैं इसे उपयोगकर्ता लॉगिन के बिना शुरू करना चाहता हूं।

जवाबों:


17

यदि आपके संस्करण में @rebootसुविधा है तो आप क्रॉन का उपयोग कर सकते हैं । से आदमी 5 crontab :

पहले पाँच क्षेत्रों के बजाय, आठ विशेष तारों में से एक दिखाई दे सकता है:

  string         meaning
  ------         -------
  @reboot        Run once, at startup.
  …

आप crontab -eरूट विशेषाधिकारों के बिना कमांड के साथ एक उपयोगकर्ता-स्थानीय crontab संपादित कर सकते हैं । फिर निम्नलिखित पंक्ति जोड़ें:

@reboot /usr/local/bin/some-command

अब आपका कमांड एक बार बूट समय पर चलाया जाएगा।


क्या crontab -eक्रोन फ़ाइल को बनाना असामान्य है /tmp?
वॉरिएंट चिंपांज़ी

@ ईलियट जो आपके संपादक पर निर्भर करता है। अंत में फाइल खत्म हो जाएगी /var/spool/cron/crontabs
मार्को
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.