प्रक्रिया प्रारंभ समय द्वारा पीएस आउटपुट को कैसे सॉर्ट करें?


66

वहाँ प्रक्रिया शुरू समय से पी एस उत्पादन सॉर्ट करने के लिए एक रास्ता है, तो सबसे ऊपर या नीचे नवीनतम हैं?

लिनक्स पर?

SysV5 पर?

मैक पर?

जवाबों:


87

यह लिनक्स और SysV5 पर काम करना चाहिए

ps -ef --sort=start_time

यह बिल्कुल अनुरोध के रूप में काम करता है, धन्यवाद। अधिक खुदाई के बाद मुझे यकीन नहीं हो रहा है कि यह मैक ओएस पर थोड़ा सा बिना जाग के संभव है
डीन स्मिथ

1
start_time ने काम किया। lstart नहीं किया। आरएचईएल
फेलिप अल्वारेज़

1
मैं कैसे आदेश को उलट सकता हूं?
फु

2
@PhuNguyen पार्टी के लिए थोड़ी देर से, लेकिन शायद किसी और के पास इसके लिए एक उपयोग है। आप आउटपुट को पाइप द्वारा ऑर्डर को उल्टा कर सकते हैं tac
पॉल

1
@ स्टेफेन यह कोशिश करते हैं:watch "ps -ef --sort=start_time | grep -v kworker | tail"
सेकेन्रे

11

लिनक्स:

$ ps aux --sort=lstart 

OSX:

$ ps aux -O started

2
मुझे डर है कि शुरू के समय से उनमें से कोई भी प्रकार न हो। यह प्रारंभ समय प्रदर्शित करता है, लेकिन सॉर्ट नहीं करता है।
डीन स्मिथ

2
लेस्टार्ट और स्टार्ट_टाइम के बीच के अंतर ने मुझे भी पकड़ा - lstartएक पूर्ण टाइमस्टैम्प देता है, लेकिन सॉर्ट कुंजी के रूप में उपयोग नहीं किया जा सकता है। start_timeपिछले 24 घंटों के भीतर सामान्य समय देता है, तारीख अन्यथा 'कॉलम, और एक सॉर्ट कुंजी के रूप में इस्तेमाल किया जा सकता है। दोनों हेडर में 'STARTED' देते हैं।
LHMathies

अंतिम घंटे के भीतर का समय: यदि किसी प्रक्रिया को आज की तुलना में कल बाद में शुरू किया गया था, तो यह आज की प्रक्रिया के बाद दिखाई देगी ... इसका उपयोग तब तक नहीं किया जा सकता है, जब तक कि थोड़ा "जाग" नहीं बदल जाता है
ओलिवियर दुलाक

@ ऑलिवरडुलक: मेरे लिए नहीं। 15/12 15:40पहले 16/12 15:39जैसा 13:39दिखता है , वैसा ही पहले दिखाई देता है 15:38
गौथियर

1
lstart ने मेरे लिए काम नहीं किया। start_time ने किया।
फेलिप अल्वारेज

5

ऊपर दिए गए शानदार जवाबों के साथ, कभी-कभी मैं बस शीर्ष 20 अपराधियों को समय, cpu% और स्मृति के उपयोग द्वारा अवरोही क्रम से देखना चाहता हूं।

उसके लिए मैं उपयोग करता हूं:

ps auxww --sort=lstart | sort -r -k3,4 | head -20

यह एक CentOS प्लेटफ़ॉर्म पर होगा, हालांकि मैंने फेडोरा पर भी उसी परिणाम का आनंद लिया है।

ओह और ग्रिंस के लिए, मैं कभी-कभी प्रक्रियाओं का एक सेट निकालना चाहता हूं, इसलिए मैं बस उपरोक्त पर एक संस्करण का उपयोग करता हूं जिसमें थोड़ा grep -v कार्रवाई शामिल है, जैसे:

ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20

--sortकी psमेरे लिए काम नहीं करता। खोल पर भरोसा करना sort। +1
केलॉग्स

3

मैं अभी तक कोई टिप्पणी नहीं कर सकता, लेकिन इस सवाल का जवाब देने के लिए कि समय के क्रम को कैसे उल्टा करना है, बस -क्षेत्र के सामने एक शून्य चिह्न ( ) डालें।
उदाहरण:ps -elf --sort=-start_time


2

या 'ls' को आज़माएं, क्योंकि यह समय के स्वरूपों को छाँटने की अनुमति देता है, और उपयोग में आसान होता है।

( cd /proc; ls -td --full-time --time-style=+%s [0123456789]*; )

एपोच में दिनांक / समय को आउटपुट करता है, शीर्ष पर नवीनतम प्रोक्स।


यह केवल pids
elig

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.