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 */ };
সুতরাং যদি systemd দেখানো পথে একটি পরিবর্তন দেখুন, থেকে কোন তথ্য পাওয়ার একটি উপায় আছে read(2)
কমান্ড? উল্লেখযোগ্যভাবে আমি প্রয়োজন name[]
কমান্ড একটি যুক্তি হিসাবে ব্যবহার করা হবে ExecStart=
মধ্যে systemd.service(5)
ইউনিট বিবৃতি।
[Service]
ExecStart=/usr/bin/command --file=$inotifyName
read(2)
ইভেন্ট সঙ্গে কাজ করতে। সুতরাং systemd কিভাবে এটি ব্যবহার করে এবং আমি থেকে তথ্য ব্যবহার করতে পারেন read(2)
একটি systemd ইউনিট ফাইল একটি পরিবর্তনশীল বা স্পেসিফিকার হিসাবে?
systemd.service
ফাইল, একটি দ্বারা triggered systemd.path
ফাইল, যা ইনটিফাই এবং আমি ব্যবহার করে অনুমান এটা ভালো কিছু ব্যবহার করে read(2)
। আমি একটি ফাইলের নাম ধারণকারী একটি স্ট্রিং প্রয়োজন যে ঘটনা যোগ অনুপ্রাণিত ExecStart
একক ফাইল বিবৃতি।