শেল স্ক্রিপ্ট থেকে টার্মিনালে লাইভ ফলাফল কীভাবে প্রদর্শিত হয়?


9

কীভাবে আমি শেল স্ক্রিপ্ট লিখতে পারি যা রিয়েল টাইমে ফলাফল দেখায়?

topকমান্ডের মতো কিছু যা সময়ের সাথে কিছু নির্দিষ্ট ব্যবধানের পরে ফলাফল আপডেট করে।

বিকল্প পাঠ


6
সম্ভবত একটি cursesইন্টারফেস ব্যবহার করছি ... তবে আমি মনে করি এটি আরও ভারী একটি প্রোগ্রামিং প্রশ্ন এবং এটি এসও এর সাথে সম্পর্কিত
xenoterracide

উত্তর:


7

আপনি যা করার চেষ্টা করছেন সে সম্পর্কে যদি আপনি আরও বেশি নির্দিষ্ট হয়ে থাকেন তবে এটি সহায়তা করবে।

এখানে একটি অত্যন্ত সরল উদাহরণ:

while true
do
    clear
    date
    sleep 1
done

13

আপনি নিয়মিত বিরতিতে আপনার স্ক্রিপ্টটি চালানোর জন্য ওয়াচ (1) কমান্ডটি ব্যবহার করতে পারেন :

watch -n 1 myscript.sh

এটি myscript.shপ্রতিটি রানের মধ্যে এবং কোণায় একটি টাইমস্ট্যাম্পের সাথে স্ক্রিন সাফ করে প্রতি 1 সেকেন্ডে চলবে। আপনি -dবিকল্পটি ব্যবহার করতে পারেন এবং এটি রান প্রতি আউটপুটে পার্থক্য হাইলাইট করবে।


আমি কেবল ঘড়ির সাহায্যে এর উত্তর কীভাবে দেব তা ভাবছিলাম।
কেভিন এম

আমার নেই watch। আপনি আরো নির্দিষ্ট হতে পারে? কি ওএস?
ক্রিস পেজ

2

সেই তথ্যগুলির বেশিরভাগই সাধারণত / proc ভার্চুয়াল ফাইল-সিস্টেমের আদিমতায় প্রকাশিত হয়। প্রতিটি প্রক্রিয়াটির পিআইডি নামক ডিরেক্টরিতে / প্রোচারের প্রবেশ রয়েছে। সুতরাং / proc / 5437 5437 প্রক্রিয়া জন্য আদিম হবে। সেখানে আদিমগুলি পড়া এবং যথাযথভাবে বিশ্লেষণ করা আপনি শীর্ষগুলি যা করেন তা বন্ধ করে দেবেন।

শীর্ষস্থানীয় নির্দিষ্ট ফাংশন কলগুলিতে কল করে কাজ করে যা ফাইল থেকে এটি টানানোর পরিবর্তে কার্নেল থেকে সরাসরি এই তথ্যটি বের করে। বাশ থেকে একই কাজ করতে আপনাকে এটি / proc ভার্চুয়াল ফাইল সিস্টেম থেকে টানতে হবে, বা অন্যান্য কল যেমন এটি থেকে বের করতে হবে ps

রিয়েল-টাইম হিসাবে, বিশদ শীর্ষ সরবরাহ সরবরাহের পর্যায়ে এটি যথেষ্ট কার্যক্ষম নয়। আপনি সময়টি যথেষ্ট পরিমাণে স্লাইস করতে পারেন যে এটি রিয়েল-টাইম বলে মনে হচ্ছে, তবে আপনি এখনও সময়ের স্লাইস পেয়ে যাবেন।


2

এরম, আপনি যদি topদীর্ঘ সময়ের জন্য আউটপুটটির দিকে তাকান , এবং কোনও প্রোগ্রাম ঠিকঠাক করছে কিনা তা পরীক্ষা করার জন্য নয়, আমি হটোপ ব্যবহারের পরামর্শ দিই

এটি আপনাকে রিয়েল টাইম সম্পর্কিত অনেক তথ্য দেয় এবং নিয়ন্ত্রণ এবং পরিচালনা করা সহজ।

আপনি আউটপুট এর লেআউট যেমন বার গ্রাফ এবং কলাম পরিবর্তন করতে পারেন।


আমি বিশ্বাস করি যে তিনি কীভাবে এমন অ্যাপ্লিকেশন লিখতে বলছেন যা নিয়মিত বিরতিতে পোলগুলি নির্দিষ্ট করে শীর্ষ বা হটোপ সম্পর্কে নয় ls
ক্রিস

1

topকার্স ব্যবহার করে এবং /procফাইল সিস্টেমটি পড়ে


1
যে সিস্টেমগুলি নেই সেগুলি ব্যতীত /proc। তথ্য পাওয়ার আরেকটি উপায় হ'ল সিসেক্টল (8) / সিসেক্টল (3)।
ক্রিস পেজ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.