অন্ধকারে কমান্ড কার্যকর করার সময় সন্ধান করা


22

আমি সবেমাত্র ব্যাশ প্রম্পট থেকে একটি দীর্ঘ-চলমান প্রক্রিয়া সম্পাদন করেছি। অন্ধকারে, আমি আশা করি আমি timeএটি চালাচ্ছি , বা আমি যে সময় লাথি মেরেছিলাম তা উল্লেখ করেছিলাম।

পূর্ববর্তী সময়ে এই তথ্য পাওয়ার কোনও উপায় আছে কি? .bash_historyটাইমস্ট্যাম্প অন্তর্ভুক্ত করা মনে হচ্ছে না।

আমার বিশেষ ক্ষেত্রে এটি ম্যাক ওএস এক্স, তবে আমি সাধারণ ইউনিক্স / লিনাক্স সমাধানগুলিতে আগ্রহী।

স্পষ্ট করার জন্য, প্রক্রিয়াটি এখন শেষ হয়েছে এবং আমি একেবারে প্রয়োজনীয় না হলে এটিকে আবার চালানো পছন্দ করব না!


আমি এটি সর্বদা ভুলে গিয়েছি এবং সময় প্রদর্শনের জন্য আমার প্রম্পটটি কনফিগার করেছি।
গণিত

উত্তর:


23

bash আপনি শেলটি বন্ধ না করা পর্যন্ত আসলে সেই সময়ের কথা মনে পড়ে।

তাই চলমান চেষ্টা করুন

HISTTIMEFORMAT='%x %X ' history

আপনিও যদি রাখেন

HISTTIMEFORMAT=<some format>

আপনার মধ্যে ~/.bashrcএটি ~/.bash_historyপ্রস্থান করার সময় লেখা হবে , যাতে আপনি আগের শেল সেশনে কী ঘটেছে তা পরীক্ষা করতে পারেন।


অসাধারণ মাইক, এটি সম্ভব বলেও মনে করেনি।
টিম

9

মাইকের উত্তরটি ভাল, আপনি যদি প্রোগ্রামটি চালান এবং কিছুক্ষণ দূরে চলে যান তবে প্রক্রিয়াটি শেষ হয়ে গেলে আপনি সত্যই নিশ্চিত হতে পারবেন না। আপনি যখন প্রোগ্রামটি শুরু করার সময়টি পেয়েছিলেন তা সত্ত্বেও, আপনি কতটা সময় নিয়েছেন তা জানেন না।

আপনার প্রস্তুতি ব্যতীত যখন সন্ধান করা দরকার তখন আমার কাছে মামলার কোনও সমাধান নেই। তবে আপনি যদি আবার এটি করতে চলেছেন তবে আপনি আমার মতো করতে পারেন: শেল প্রম্পটের সাথে বর্তমান সময়টি মুদ্রণ করুন। এইভাবে, যদি আপনার এখনও টার্মিনাল খোলা থাকে, আপনি প্রোগ্রামটি শুরু করার সময় এবং পরবর্তী প্রম্পটটি মুদ্রণের সময় দেখতে পাবেন। একটি অল্প গণিত আপনি কার্যকর করার সময় পাবেন।

এই কাজের জন্য bash, আপনি আপনার এই করা .bashrc:

export PS1="\A \u@\h \W \$ "

এটি zshআপনার মধ্যে রাখুন .zshrc:

export PS1="%D{%H:%M} %n@%m %1~ %# "

উপরেরটি আপনার শেল প্রম্পটটির একটি বিন্যাস দেয় <time> <username>@<hostname> <current dir> <$ or % or #>। বিভিন্ন শেল এবং ক্রেজি অভিনব অনুরোধগুলির জন্য, আপনার শেলের ম্যান পৃষ্ঠাটি পড়ুন।

দ্রষ্টব্য: আপনার উচ্চ নির্ভুলতার প্রয়োজন হলে এটি সম্ভবত সাহায্য করবে না বা প্রোগ্রামটি যদি এত বেশি আউটপুট তৈরি করে যা আপনি পূর্ববর্তী প্রম্পটটি দেখতে না পান।


2
আমি এই কারণে আমার শেল প্রম্পটে একটি টাইমস্ট্যাম্প অন্তর্ভুক্ত করেছি, তবে সতর্কতা অবলম্বন করুন যে প্রম্পটে মুদ্রিত হওয়ার সময় প্রম্পটে প্রদর্শিত সময়টি আসলে আপনি টাইপিংটি শেষ করার সময় এবং কমান্ড শুরু করার জন্য এন্টার টিপানোর সময় থেকে বেশ আলাদা হতে পারে। অন্য কথায়, নিজেকে "প্রম্পট অলস সময়" ফ্যাক্ট করতে মনে রাখবেন।
jw013

5

যদি প্রক্রিয়াটি এখনও চলমান থাকে তবে আপনি psএটি শুরু করার সময় এবং এটিতে কতটা সিপিইউ সময় ব্যবহার করেছে তা পেতে ব্যবহার করতে পারেন ।

উদাহরণস্বরূপ, সমস্ত প্রক্রিয়া জন্য:

ps -eo cputime,start,pid,command,args

নির্দিষ্ট পিডের জন্য (12345):

ps -p 12345 -o cputime,start,pid,command,args

ধন্যবাদ, তবে প্রক্রিয়াটি ইতিমধ্যে সম্পন্ন হয়েছে। আমি যদি আবার এটি চালাই তবে আমি এটি মনে রাখব।
গ্রাহাম বোরল্যান্ড 3'12

আমি psলিনাক্সে জিএনইউ ব্যবহার করছি , psম্যাকোএসএক্স-এ বিএসডি হতে পারে এবং আমি যুক্তি সম্পর্কে নিশ্চিত নই।
jsbillings

এছাড়াও, মনে রাখবেন যে সিপিইউ সময়টি "আসল সময়" নয়
জুয়ান

4

লাস্টকম (যদি বিএসডি প্রক্রিয়া অ্যাকাউন্টিং সক্ষম করা থাকে) আপনাকে কার্যকর করার সময়কাল দেয় (কিছুটা সীমিত অর্থে যা পর্যাপ্ত হতে পারে বা নাও হতে পারে)।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.