2010-10-18 13 views
11

क्या उपयोगकर्ता के रूप में चलाने वाले डेमॉन के लिए एक पिड फ़ाइल स्टोर करने के लिए कोई पसंदीदा स्थान है?/var/run मानक स्थान है, लेकिन यह उपयोगकर्ता डिमन के लिए है, इसलिए इसमें वहां लेखन विशेषाधिकार नहीं हैं। संभवतः मेरा डिमन .profile या .bashrc या कुछ से शुरू किया जाएगा। क्या यह सिर्फ एक बुरे विचार को/tmp करने के लिए सहेज रहा है?उपयोगकर्ता के रूप में चलाने के लिए एक डेमॉन चलाने के लिए पिड फ़ाइल संग्रहीत करना

+2

में सभी क्रम डेटा रखने/tmp के लिए सहेजा जा रहा है अच्छा नहीं है के बाद से किसी भी नामकरण परंपरा आप आविष्कार था (जैसे '/ tmp// .pid') पहले से ही हो सकता है किसी अन्य ऐप द्वारा उपयोग किया जाता है और आप फ़ाइल बनाने में सक्षम नहीं होंगे। '/ Tmp' के तहत एक यादृच्छिक डायरनाम का उपयोग करना पिड फ़ाइल का विचार खंडित करता है - प्रक्रिया सूची स्कैन किए बिना तुरंत पिड प्राप्त करने में सक्षम होने के लिए। –

उत्तर

8

यदि यह किसी उपयोगकर्ता के लिए चलाया जा रहा है, तो देखते हैं कि किस प्रकार का भंडारण मौजूद है जो उपयोगकर्ता-विशिष्ट है।

हमम।

यही है! घर निर्देशिका मुझे पता था कि यह अंततः मेरे पास आएगा :-)


प्रकाश जैब के लिए खेद है। गंभीरता से, मैं सिर्फ पीआईडी ​​को $HOME/.daemon.pid या ~/.daemon.pid में डाल दूंगा (आप फ़ाइल को कैसे नामित करते हैं)।

यह निश्चित रूप से मानते हैं कि आपके पास उपयोगकर्ता के लिए केवल एक डिमन चल रहा होगा। यदि नहीं, तो आपको थोड़ा सा ट्रिकियर होना होगा।


और उम्मीद है कि अपने डर है कि एक उपयोगकर्ता अनजाने उनके घर निर्देशिका में अज्ञात फ़ाइलें भी हट जाएँगी शमन, यही कारण है कि आप एक . चरित्र के साथ यह शुरू करने से यह "छिपा" बनाते हैं।

अधिकतर गैर-अनुभवी उपयोगकर्ताओं को कभी भी देखें और अनुभवी उपयोगकर्ताओं को उनके साथ मक करने से बेहतर पता होना चाहिए।

+0

वैसे उपयोगकर्ता उपयोगकर्ता निर्देशिका को देखता है, और मुझे लगता है कि अगर वे इसे देख रहे हैं तो वे फ़ाइल को हटाने की अधिक संभावना रखते हैं ~ यह नहीं जानते कि यह – Falmarri

+1

@ फ़ल्मररी: और इसमें क्या खतरा है? यदि आपको वास्तव में पीआईडी ​​की ज़रूरत है, तो आप हमेशा प्रक्रिया तालिका में देख सकते हैं। पीआईडी ​​फाइल सिर्फ एक सुविधा है। –

+4

यही कारण है कि आप इसके सामने '.' डालते हैं। उपयोगकर्ता जो नहीं जानते कि वे क्या कर रहे हैं, शायद यह कभी भी यह नहीं पता कि यह अस्तित्व में है। और यदि वे नियमित रूप से छिपी हुई फाइलें देखते हैं, तो '.bashrc' को हटाने में केवल एक गलती उन्हें उनके तरीकों की त्रुटि सिखाएगी :-) यदि आप _really_ paranoid हैं, तो पीआईडी ​​को ~ ~/.dont_EVER_delete_me_or_you_WILL_be_sorry/.daemon.pid' में डाल दें । – paxdiablo

0

मेरा सुझाव है कि आप उपयोगकर्ता की होम निर्देशिका में उपनिर्देशिका के लिए जाएं।

~/.programname/.pid 

अगर वहाँ किसी भी अन्य उपयोगकर्ता विन्यास डेटा है, तो आप भी यहाँ में स्टोर कर सकते हैं कि, ताकि घर निर्देशिका को अव्यवस्थित से बचने के लिए।

8

XDG Basedir specification परिभाषित करता है कि आपको इन्हें कहां स्टोर करना चाहिए।
परिवर्तनीय $XDG_RUNTIME_DIR इसका स्थान परिभाषित करता है, हालांकि इसमें कोई डिफ़ॉल्ट नहीं है।
सबसे आम फॉलबैक (यदि चर अनसेट है) /tmp/service-$USER.id है।

यह, सुव्यवस्थित homedirs रखने में मदद करता है, जबकि

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