আমি এমন কিছু সন্ধান করছি যা আমার সন্দেহের অস্তিত্ব নেই: কমান্ড লাইন থেকে ব্যবহারের জন্য একটি অ-ব্লক করা বাফার্ড নামক পাইপ (ফিফো)। সেখানে কি এমন জিনিস আছে?
এখানে ব্যবহারের কেসটি ধরুন: ধরুন আমার কাছে এমন একটি প্রক্রিয়া রয়েছে যা ব্যাকগ্রাউন্ডে দীর্ঘ সময় চলে এবং প্রচুর আউটপুট বানান stdout
। আমি আউটপুটটির বিষয়ে সত্যই চিন্তা করি না এবং এটি সঞ্চয় করতে চাই না (সম্ভবত আমার পর্যাপ্ত জায়গা নেই) তবে আমি পর্যায়ক্রমে "ড্রপ" করতে এবং এটি যা করছে তা অনুসরণ করতে চাই, তারপরে আবার বাদ পড়ি এবং এটি এর কাজ করতে ছেড়ে দিন। তাই আমি এর আউটপুটটি এই তাত্ত্বিক বাফার, নামক পাইপ-অ-ব্লক করা পাইপটিতে পুনর্নির্দেশ করতে চাই এবং পরে পর্যায়ক্রমে এতে আলতো চাপতে চাই।
সুতরাং মূলত আমি এটি শুরু করতে চাই ( 10M
বাফারের আকার হিসাবে):
mkmagicfifo magicfifo 10M
spewingprocess > magicfifo &
... এবং পর্যায়ক্রমে কী চলছে তা দেখার জন্য ড্রপ করুন ...
tail -f magicfifo
... ছাড়া magicfifo
সব আউটপুট (তাই হয়, না একটি স্বাভাবিক ফাইল) সংরক্ষণকারী এবং ছাড়া এটা spewing প্রক্রিয়া ব্লক যখন এটি fills আপ এবং চাপড় মেরে না হয় (তাই হয়, পুরোপুরি একটি স্বাভাবিক নামে পাইপ)।
সমাধানগুলি জড়িত tail
বা prune
এটি করবে বলে আমি মনে করি না (ভাল, আমি জড়িত একটি কার্যবিধির কথা ভাবতে পারি tail
), কারণ tail
এখনও আমার সমস্ত ডেটা কোথাও সংরক্ষণ করার প্রয়োজন হবে (যদি আমি এটিকে সন্ধান করতে এবং বাদ দিতে চাই), এবং prune
ফাইলটি নতুন করে লিখতে হবে, সম্ভবতঃ (আমি স্বীকার করব যে আমি এটি চেষ্টা / প্রমাণিত করিনি) সমস্ত আউটপুট উত্পন্ন করার প্রক্রিয়াটির পুনর্নির্দেশটি ভঙ্গ করে।
আমি আশা করি এটি করার জন্য আমি কিছু ইউটিলিটি লিখতে পারি, তবে * নিক্সে ফাইল এবং পাইপ এবং এর মতো অনেক দুর্দান্ত দিক রয়েছে, আমি কেবল সহায়তা করতে পারি না তবে মনে হয় এটি বিদ্যমান এবং আমি এটি সম্পর্কে জানি না।
সুতরাং: এই জাতীয় জিনিস আছে, এবং যদি তাই হয় কি?