আমার আছে:
sleep 210m && for i in $(seq 1 5); do echo -e '\a'; sleep 0.5; done
যখন কিছু করা উচিত তখন আমাকে স্মরণ করিয়ে দেওয়ার জন্য একটি সহজ, নো-ফ্রিলস টাইমার হিসাবে চলমান। যে sleep 210m
PID, 25347 নেই।
ঘুমের মধ্যে কতটা সময় বাকি আছে তা জানার চেষ্টা করছি। আসল ঘুমের পরিমাণ (210 মিনিট) রাখার সাথে আমি যে সেরাটি নিয়ে এসেছি তা হ'ল:
$ echo "210 60 * $(ps -o etimes= 25347) - 60 ~ r n [:] P p" | dc
78:11
(ব্যাখ্যা: প্রথম বিট মূল ঘুমের মধ্যে সেকেন্ডের সংখ্যা গণনা করে; $(ps…)
সেকেন্ডে ঘুম শুরু হওয়ার পরে বিটটি সময় পায়, তারপরে বাকীগুলি সেগুলি বিয়োগ করে মিনিট এবং সেকেন্ডের মধ্যে প্রদর্শিত হয়))
আমার কাছে এটি ঘটে সাধারণত এটি কার্যকর হবে; এই কাজ করতে একটি ভাল উপায় আছে কি? বা কমপক্ষে একটি চতুর উপায় থেকে ঘুম সময় পার্স করার উপায় ps -o args
?
exec
)। তবে এটি কোনও সাধারণ সমাধানের জন্য একটি ভাল পয়েন্ট।
mksh
এবং ksh93
কমপক্ষে) sleep
বিল্ট-ইন রয়েছে (তাই এটি দেখায় না ps
),, আপনাকে আগে থেকেই জানতে হবে আপনি কোনটি sleep
প্রয়োগের সাথে কাজ করছেন।
sh -c 'sleep 1; sleep 2'
অনেকগুলিsh
বাস্তবায়ন সহ, এটি একই প্রক্রিয়া যা কার্যকর করেsh
এবং পরে সম্পাদন করেsleep 2
(1 সেকেন্ড পরে)।