कैसे पता करें कि किस फाइल या इनकोड ने systemd.path यूनिट को ट्रिगर किया?


8

Systemd एक निश्चित पथ गर्त की निगरानी को नियंत्रित करने वाली इकाई फाइलें प्रदान करता है systemd.path(5):। यदि फ़ाइल या निर्देशिका को देखे गए पथ में संशोधित किया systemd.service(5)जाता है, तो उसे संगत कहा जाता है।

inotify(7)मैन पेज के अनुसार :

यह निर्धारित करने के लिए कि कौन सी घटनाएं घटित हुई हैं, एक एप्लिकेशन रीड (2) एसटॉइल फ़ाइल डिस्क्रिप्टर से पढ़ता है। यदि अब तक कोई घटना नहीं हुई है, तो, एक अवरुद्ध फ़ाइल विवरणक मानकर, पढ़ें (2) तब तक अवरुद्ध हो जाएगा जब तक कम से कम एक घटना नहीं होती है (जब तक कि एक सिग्नल द्वारा बाधित नहीं होता है, जिस स्थिति में कॉल त्रुटि EINTR के साथ विफल हो जाती है; संकेत देखें (7) ))।

प्रत्येक सफल पढ़ा (2) एक बफर देता है जिसमें एक या एक से अधिक संरचनाएँ होती हैं:

      struct inotify_event {
          int      wd;       /* Watch descriptor */
          uint32_t mask;     /* Mask of events */
          uint32_t cookie;   /* Unique cookie associating related
                                events (for rename(2)) */
          uint32_t len;      /* Size of name field */
          char     name[];   /* Optional null-terminated name */
      };

तो अगर सिस्टमड देखे गए मार्ग में बदलाव देखता है, तो क्या read(2)कमांड से कोई डेटा प्राप्त करने का कोई तरीका है ? उल्लेखनीय है कि मैं जरूरत name[]के लिए आदेश के लिए एक तर्क के रूप में इस्तेमाल किया जा करने के लिए ExecStart=में systemd.service(5)इकाई बयान।

[Service]
ExecStart=/usr/bin/command --file=$inotifyName

यकीन है कि वहाँ है: आप सी कार्यक्रम कर सकते हैं?
मारियसमाटुटिया

नहीं। केवल यह इंगित करते हुए, कि यदि कोई प्रोग्राम inotify का उपयोग कर रहा है, तो वह read(2)ईवेंट के साथ काम करने के लिए शामिल हो सकता है । तो सिस्टमड इसका उपयोग कैसे करता है और क्या मैं read(2)एक चर या स्पेसियर के रूप में सिस्टमड यूनिट फ़ाइल से डेटा का उपयोग कर सकता हूं ?
टिम

यह एक सी कार्यक्रम के भीतर से ऐसा करता है: पढ़ा (2) एक प्रणाली सभी है, आप इसे आदमी से चेक कर सकते हैं।
मारियसमाटुटिया

2
क्या तुम्हें पता चला? मैं एक स्क्रिप्ट भी देख रहा हूं।
CMCDragonkai

1
यह एक उचित सवाल है, और मैं वही सुनना चाहूंगा। विशेष रूप से, क्योंकि मैं अंत में मेरी निगरानी सेवा का कंकाल inotify (!) से आगे बढ़ गया, आशा के साथ systemot पथ इकाइयों जैसे inotify का उपयोग करने पर लटका दिया गया! :( मुझे लगता है कि मैं (हम) कुछ देख रहा हूँ ...?
टेक्सास-ब्रोंस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.