চলমান প্রক্রিয়াটির প্রাচীর ঘড়ির সময় আমি কীভাবে পেতে পারি?


14

আমি একটি বড় ফাইলের একটি হ্যাশ চেক শুরু করেছি এবং এটি ব্যবহার করে এটি পুনরায় আরম্ভ করতে চাই না time। শুরুতে সময় না দিয়ে বা dateকমান্ড দেওয়ার আগে ডান ব্যবহার না করে আমি কীভাবে প্রাচীর ঘড়ির সময় পেতে পারি?

উত্তর:


12

চলমান প্রক্রিয়াটির জন্য আপনি এটি করতে পারেন:

PID=5462
command ps -p "$PID" -o etime
command ps -p "$PID" --no-headers -o etime

সাধারণ বৈশিষ্ট্য হিসাবে আপনি নিজের শেল প্রম্পটটি পরিবর্তন করতে পারেন। এটি আমার বাশ প্রম্পট সংজ্ঞা:

TERM_RED_START=$'\033[1m\033[31m'
TERM_RED_END=$'\033(B\033[m'
PS1='\nec:$(ec=$?; if [ 0 -eq $ec ];
then printf %-3d $ec;
else echo -n "$TERM_RED_START"; printf %-3d $ec; echo "$TERM_RED_END";
fi) \t  \u@\h:\w\nstart cmd:> '
PS2="cont. cmd:> "

আপনার জন্য প্রাসঙ্গিক অংশ \t সময়ের জন্য।

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

সম্পূর্ণ সমাধানের জন্য আপনার একটি অডিট বৈশিষ্ট্য (যা প্রক্রিয়াগুলির শুরু এবং শেষের সময় লগ করে) প্রয়োজন। তবে এটি শেলের মধ্যে সীমাবদ্ধ না রাখতে পারলে বিপুল পরিমাণে ডেটা হতে পারে।


1

গৃহীত উত্তরের উপর ভিত্তি করে, আপনি এটি ব্যবহার করে চলমান প্রক্রিয়াটির অবধি সময়কে অবিচ্ছিন্নভাবে পর্যবেক্ষণ করতে পারেন watch:

PID=5462
watch command ps -p "$PID" -o etime
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.