flock
ইন্টারলকিং অপারেশনগুলির অন্যতম উপায়। ইউটিলিটি ইউজ-লিনাক্স টুলসেটের অংশ এবং এটি কেবল লিনাক্সের জন্য উপলব্ধ। প্ল্যাটফর্মের বিস্তৃত পরিসর জুড়ে উপলভ্য অন্যান্য ইউটিলিটিগুলি setlock
তার ডেমোনটোলস প্যাকেজ থেকে ড্যানিয়েল জে বার্নস্টেইনের ইউটিলিটিটির চারপাশে ভিত্তি করে :
এই সরঞ্জামগুলি এম কুরেনকভের উত্তর (যেটি flock
নিয়োগ করতে পারে, কিন্তু সেই উত্তরে নেই) তে ব্যবহৃত কিছুটা আলাদা দৃষ্টান্ত দিয়ে কাজ করে। কেউ কমান্ডটিতে চেইন লোড করার জন্য setlock
প্রোগ্রামটি আহ্বান করে যা অবশ্যই ইন্টারলক করা উচিত। নিজেই লক ফাইলটি খোলে এবং লক করে এবং এর প্রক্রিয়াটিতে এটির জন্য একটি ফাইল বর্ণনাকারী রেখে দেয়। লকটি যতক্ষণ না এই প্রক্রিয়াটি চালিয়ে যায় ততক্ষণ অব্যাহত থাকে (যদি না পরবর্তী কমান্ডটি খোলা ফাইল বিবরণীর সন্ধান এবং বন্ধ করে স্পষ্টভাবে লকটি প্রকাশ না করে)।setlock
প্রশ্ন এক ক্ষেত্রে কমান্ড যে আউটপুট লাইন উত্পাদন করে জেনে রাখুন যে এই পূজা একটি হচ্ছে interlock আবশ্যক বহিরাগত echo
শেল স্থানে বিল্ট-ইন echo
কমান্ড প্রয়োগ করুন:
সেটলক মাইলোকফাইল প্রতিধ্বনি "$ ফলাফল" >>। / $TEMP_DIR/$OUT_FILE
এই ক্ষেত্রে অ্যাপেন্ড মোডে আউটপুট ফাইলটি খোলার ইন্টারলক করা প্রয়োজন হয় না। যদি থাকতো, এক লক, যা মত প্রোগ্রাম ব্যবহার হয় প্রয়োজনীয়তা মধ্যে যে ফাইল খোলার জন্য হবে fdredir
/ redirfd
:
সেটলক মাইলোকফিল fdredir - অ্যাপেন্ড 1 "./$TEMP_DIR/$OUT_FILE" প্রতিধ্বনি "ES ফলাফল"
কেউ চাইলে কোনটি শেল ফাংশনে রূপান্তর করতে পারে:
আউটফাইল () {মাইলকফায়াল fdredir --append 1 "সেট করুন। / EMTEMP_DIR/$OUT_FILE" "$ @"; }
[…]
আউটফাইলে প্রতিধ্বনি "ES ফলাফল"
বা শেল সিনট্যাক্সের সাথে লেগে থাকা এবং এটি ইন্টারলকের নীচে চলতে থাকা দ্বিতীয় শেল দ্বারা ব্যাখ্যা করে, যদি কারও শেল ভেরিয়েবল পরিবেশের ভেরিয়েবল হিসাবে রফতানি না হয় তবে কিছু অ-তুচ্ছ উদ্ধৃতি আবশ্যক:
সেটলক মাইলোকফাইল sh -c 'প্রতিধ্বনি "" ES ফলাফল "" >> "./'$TEMP_DIR'/'$OUT_FILE'" '
এটি অবশ্যই আউটপুট ফাইলগুলিতে লেখা ব্যতীত অন্য বিষয়গুলিকে সাধারণীকরণ করে:
সেটলক মাইলকফিল sh -c '... আন্তঃযুক্ত; জিনিসপত্র …'
`pwd`
; আপনি কেবল একটি বিন্দু (.
) ব্যবহার করতে পারেন । এছাড়াও আপনার পুরো ফাইলটির নামটি উদ্ধৃত করা উচিত কারণ এটিতে ভেরিয়েবল অন্তর্ভুক্ত রয়েছে ।