बिना छंटनी लाइनों के मैं सोलारिस में पूरी प्रक्रिया सूची कैसे प्राप्त कर सकता हूं?


57

क्या बिना तली हुई रेखाओं के, सोलारिस में पूर्ण प्रक्रिया सूची तैयार करने का एक तरीका है? मैंने psनिम्नलिखित तर्कों के साथ कमांड की कोशिश की है:

  -f एक पूर्ण सूची बनाता है। (नीचे देखें
                      पूरी सूची में स्तंभों का महत्व-
                      आईएनजी।)
  -l एक लंबी सूची तैयार करता है। (निचे देखो।)

तो, उन दोनों को लगता है कि मैं क्या चाहता हूं, हालांकि, पीएस मैन पेज में और नीचे, मुझे यह मिला:

 
 args अपने सभी तर्कों के साथ कमांड a
                         स्ट्रिंग। कार्यान्वयन कम हो सकता है
                         क्षेत्र की चौड़ाई के लिए यह मूल्य; यह है
                         कार्यान्वयन-निर्भर चाहे कोई भी हो
                         आगे छंटनी होती है। यह है
                         अनिर्दिष्ट कि क्या तार
                         प्रतिनिधित्व तर्क का एक संस्करण है
                         सूची को कमांड में पारित किया गया था
                         जब यह शुरू हुआ, या इसका एक संस्करण है
                         तर्क के रूप में वे संशोधित किया गया हो सकता है
                         आवेदन के द्वारा। अनुप्रयोग नहीं कर सकते
                         अपने को संशोधित करने में सक्षम होने पर निर्भर करते हैं
                         तर्क सूची और उस modifica वाले-
                         tion ps के आउटपुट में परिलक्षित होता है।
                         सोलारिस कार्यान्वयन की सीमा है
                         80 बाइट्स को स्ट्रिंग; स्ट्रिंग है
                         तर्क सूची का संस्करण जैसा कि यह था
                         जब यह शुरू हुआ तब कमांड को पास किया गया।

जो मूल रूप से कहता है कि आउटपुट को छोटा किया जा रहा है और इसके बारे में मैं कुछ नहीं कर सकता। इसलिए, मैं यहां आ रहा हूं। निश्चित रूप से अन्य लोग इस समस्या में भाग गए हैं और शायद इसके आसपास भी एक रास्ता है। मुझे लगता है कि ps यह नहीं कर सकता है और इसलिए मुझे ऐसा करने के लिए अन्य उपकरणों का उपयोग करने की आवश्यकता है। क्या यह सही है?


क्या आप psकमांड के बारे में बात कर रहे हैं ? यदि ऐसा है तो कृपया प्रश्न को अपडेट करें ताकि यह स्पष्ट हो।
फन्नेहे

हाँ, क्षमा करें ... मेरी प्रारंभिक टिंकरिंग ps कमांड के साथ थी, मैंने प्रश्न को स्पष्ट कर दिया है।
गाबे

जवाबों:


63

तुम कोशिश कर सकते हो

pargs <PID>

यह आपको सभी तर्कों की एक सूची देता है

या किसी अन्य ps का उपयोग करें। यदि रूट के रूप में चलाया जाता है (या उस मामले के लिए पर्याप्त विशेषाधिकार वाले किसी भी उपयोगकर्ता)

/usr/ucb/ps auxww

आपको सभी तर्क देंगे। SUNWscpu का इसका हिस्सा, "स्रोत संगतता, (Usr)"


pargsकमांड लाइन तर्क (और वैकल्पिक रूप से पर्यावरण) की इन-प्रोसेस कॉपी दिखाता है। जानकर अच्छा लगा, धन्यवाद!
गाइल्स 'एसओ- बुराई को रोकना'

1
यह पूरा / usr / ucb निर्देशिका मेरे लिए नया है ... मुझे यह पसंद है!
गाबे

3
सोलारिस 11 पर, यदि आप बिना डैश के विकल्पों का उपयोग करते हैं (जैसे "/ usr / bin / ps auxwww") तो उन्हें UCB शैली के विकल्प के रूप में माना जाएगा, और आउटपुट अतिरिक्त लंबी लाइनें दिखाएगा, तब भी जब आप रूट के रूप में नहीं चल रहे हों। यह अच्छी तरह से प्रचारित नहीं है। इन्हें भी देखें: superuser.com/questions/148271/ps-command-in-solaris
क्रिस Quenelle

14

कमांड लाइन के तर्कों पर नज़र रखने के लिए कर्नेल की आवश्यकता नहीं होती है। जब execveकॉल के माध्यम से एक प्रोग्राम शुरू किया जाता है , तो कर्नेल को तर्क को प्रक्रिया मेमोरी में कॉपी करना चाहिए (ताकि वे argvसी प्रोग्राम में उदाहरण के लिए उपलब्ध होंगे)। उसके बाद, कर्नेल प्रारंभिक कमांड लाइन तर्कों को संग्रहीत करने के लिए उपयोग की गई मेमोरी को त्याग सकता है। इस प्रक्रिया को तर्कों की अपनी प्रति को अधिलेखित करने की अनुमति है। इसलिए केवल तर्कों का कोई निशान नहीं हो सकता है।

कुछ यूनिक्स संस्करण किसी रूप में तर्कों की एक प्रति रखते हैं। सोलारिस कुछ आंकड़ों को उजागर करता है /proc/$pid। ओपनसोलारिस 2009.06 के रूप में, बहस के ही निशान में है /proc/$pid/psinfo, जहां वे में के बीच (ताकि आप के बीच भेद नहीं कर सकते हैं रिक्तियों के साथ concatenated रहे हैं foo "one" "two"और foo "one two") और जिसके परिणामस्वरूप स्ट्रिंग 80 बाइट्स के लिए दिया जाता है। इस क्षेत्र में /proc/$pid/psinfoक्या है psमें प्रिंट argsस्तंभ।

वैसे, -fऔर -lविकल्प नियंत्रित करते हैं कि कौन से फ़ील्ड मुद्रित हैं, न कि फ़ील्ड को कुछ चौड़ाई में काट दिया गया है या नहीं।


यह एक अच्छा जवाब था और साथ ही बहुत जानकारीपूर्ण भी। पार्स कमांड ने मेरी जरूरत को बेहतर तरीके से पूरा किया जो कि एकमात्र कारण है जिसने मुझे इस एक पर जवाब दिया।
गाबे

6
इसलिए, एक बार फिर हम वर्ष 2013 में यहां बैठे हैं और अभी भी हम 80 बाइट्स के तारों को काटते हैं क्योंकि हमारे पास केवल 1970 के दशक में 80-चार टर्मिनल थे और "कुछ" कार्यक्रमों को अभी तक इस तथ्य को समझना बाकी है कि जीवन आगे बढ़ गया है। और हम इसे पसंद करते हैं, हम इसे "संगतता" के रूप में प्रशंसा करते हैं! हमें खुद पर शर्म आनी चाहिए ...
Manjabes

1
@ मंजनबस हह! जो लोग सोलारिस का उपयोग करते रहना चाहते हैं, उन्हें पुराने स्कुल में चीजों को करने वाले सिस्टम के बारे में शिकायत नहीं करनी चाहिए ;-) सोलारिस जानबूझकर बदलने के लिए धीमा है, पुराने कार्यक्रमों के साथ अधिक पीछे संगत होने के लिए जो कुछ व्यवहार की उम्मीद करते हैं। यदि आप एक लंबे पीएस लिस्टिंग के साथ एक ओएस चाहते हैं और उपयोगिता कार्यक्रमों में अधिक फैंसी क्षमताओं के बजाय आप लिनक्स का उपयोग कर सकते हैं।
जॉनगह

2

ps -eचल रही सभी प्रक्रियाओं की सूची देता है। इसके अलावा यह वहाँ है ps -elf


2
यहां तक ​​कि -l तर्क का उपयोग करते हुए अभी भी कमांड लाइन की जानकारी को काट दिया जाता है
लार्स नॉर्डिन

1
सवाल का जवाब नहीं।
कोनराड गजवेस्की

0

psआप किस कमांड का उपयोग करते हैं, इसके आधार पर मैं उपयोग करता हूं

ps -auxw

1
ऑक्स के तर्कों का उपयोग करने वाले सोलारिस पर पीएस के संस्करण को एक अग्रणी की आवश्यकता नहीं है - 'यदि आप सोलारिस पर नहीं हैं तो आपका उत्तर प्रासंगिक नहीं है।
जॉनगह

0

prstat आप वर्तमान में उनके pids और CPU उपयोग के साथ चल रहे प्रक्रियाओं को दे देंगे।

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