উত্তর:
এর উদ্দেশ্য watch
হ'ল একটি কমান্ডের পূর্ণ-স্ক্রিনের ফলাফল প্রদর্শন করা এবং ধারাবাহিকভাবে আপডেট করা; যদি আপনি আউটপুটটিকে কোনও ফাইলে পুনর্নির্দেশ করে থাকেন এবং এটি ব্যাকগ্রাউন্ড করে থাকেন তবে প্রথমদিকে ঘড়িটি ব্যবহার করার কোনও কারণ নেই।
আপনি যদি watch
কিছুক্ষণ বিলম্বের সাথে বার বার একটি কমান্ড চালাতে চান ( ডিফল্টরূপে দুই সেকেন্ড অপেক্ষা করেন), আপনি এই জাতীয় কিছু ব্যবহার করতে পারেন:
while true; do
cmd >> output.txt
sleep 2
done
এখানে একটি উপায়:
watch -n 1 'date' &>/dev/null &
যেহেতু আপনি প্রক্রিয়াটির ব্যাকগ্রাউন্ড করেছেন তাই আমরা ধরে নিতে পারি যে আপনার টার্মিনাল ডিসপ্লে দরকার নেই এবং আপনি কোনও ফাইলে পুনর্নির্দেশ করছেন। যদি আপনি এটি করেন তবে আপনি watch
ইস্যু ছাড়াই পটভূমিতে সক্ষম হবেন ।
sleep
মাইকেল মরোজেকের পরামর্শ অনুসারে, ধীরে ধীরে পিছিয়ে পড়বে যা অনাকাঙ্ক্ষিত হতে পারে। এক বিভ্রান্ত শেল স্ক্রিপ্ট ছাড়াও যা সিস্টেম সময় পর্যবেক্ষণ করে এবং অতিবাহিত সময়ের উপর ভিত্তি করে একটি কমান্ড কার্যকর করে, watch -p
সঠিক সময়ের জন্য উপযুক্ত বিকল্প হতে পারে।
সঠিক সময়ের জন্য:
watch -n 1 -p 'date' &>/dev/null &
&
দু'বার ব্যবহার করা সম্ভব ?
man bash
প্রথমটি কীভাবে &
কাজ করে তা দেখতে পাইপলাইন বিভাগটি পড়ুন । ;)
আমি আপনার অনুপ্রেরণাগুলি সম্পর্কে নিশ্চিত নই, তবে সম্ভবত এটি যথেষ্ট হবে?
while true; do sleep 2; cmd >>output.txt; done &
অন্যথায়, দয়া করে আপনার কেন প্রয়োজন তা ব্যাখ্যা করুন watch
।
আপনার অনুপ্রেরণার উপর নির্ভর করে:
আপনি নিয়মিত কিছু চালাতে চান। তারপরে আপনি সরাসরি ক্রোন ব্যবহার করতে পারেন। (যদি 1 মিনিটের সময় গ্রানুলারিটি আপনার উদ্দেশ্যে যথেষ্ট হয়)।
আপনি বারবার কিছু চালাতে চান:
while sleep 2 ; do
cmd
done >& log.txt
(উদাহরণস্বরূপ, আপনি এটি ক্রোনটাব থেকে চালাতে পারেন, যদিও স্ক্রিপ্ট ব্যবহারের পক্ষে উচ্চ প্রস্তাব দেওয়া হয়)।
আপনি পর্যায়ক্রমে একটি কমান্ড চালাতে চান এবং এটির শেষ নির্বাহের আউটপুটটিতে অ্যাক্সেস থাকতে পারে।
আপনি একটি ramfs এ আউটপুট লিখতে পারেন (আগে স্ক্রিপ্টটি সংশোধন করে):
while sleep 2 ; do
cmd >& last_execution.log
done
বা আরও ভাল:
while sleep 2 ; do
cmd >& last_execution.log.tmp
mv last_execution.log.tmp last_execution.log ## atomically
done
আপনি একত্রিত করতে পারেন screen
এবং watch
, যাতে আপনি সর্বদা সর্বশেষতম স্থিতি পরীক্ষা করতে পারেন, যতক্ষণ না এটি কোনও স্ক্রিনফুলের সাথে ফিট থাকে:
screen watch -n 3660 ./make-backup.sh
আপনি স্ক্রিন কমান্ড ব্যবহার করতে পারেন।
http://www.cyberciti.biz/tips/linux-screen-command-howto.html
ওয়াচটি স্ক্রিনে আউটপুট করার জন্য ডিজাইন করা হয়েছে, তবে এটির আউটপুট পুনঃনির্দেশিত করা যেতে পারে (স্টাডআউট এবং স্ট্ডার উভয়) তারপরে এটি পটভূমিতে চলবে।
watch 'date >>fa' >/dev/null 2>/dev/null &