फ़ाइल नाम के साथ चलने की प्रक्रिया दिखाएं?


12

मैं अपने लिनक्स सर्वर को जोड़ने के लिए पोटीन का उपयोग कर रहा हूं जो मेरी साइट में हैं। मैं चला सकता हूं

# ps aux | less

चल रही प्रक्रियाओं को दिखाने के लिए। लेकिन मैं प्रदर्शित करना चाहता हूं कि इन प्रक्रियाओं को चलाने वाली कौन सी फाइलें हैं?

मैंने भी कोशिश की है

# ps aux | grep <pid>

लेकिन यह त्रुटि प्राप्त करना:

-bash: syntax error near unexpected token `newline'

इसे करने का सही तरीका क्या है?


4
में grep <pid>, आप <pid>अपनी वास्तविक प्रक्रिया आईडी (यह एक संख्या है) से प्रतिस्थापित करने वाले हैं । <pid>सिर्फ एक प्लेसहोल्डर है, ऐसा कुछ नहीं जो आपको वास्तव में लिखना चाहिए।
बेन वोइग्ट

जवाबों:


13

ps aux | grep <pid>एक शेल कमांड नहीं है। संकेतन <pid>का अर्थ "पीआईडी ​​को वहां लगाना" है। उदाहरण के लिए, यदि पीआईडी ​​1234 है, तो आप चलाएंगे ps aux | grep 1234। यह एक बहुत ही उपयोगी कमांड नहीं है, आप अच्छी तरह से चला सकते हैं ps u 1234

आपका प्रश्न बहुत स्पष्ट नहीं है। "फ़ाइल नामों के साथ" से आपका क्या तात्पर्य है? यदि आप यह देखना चाहते हैं कि 1234 प्रक्रिया क्या चल रही है:

ls -l /proc/1234/exe

यदि आप यह देखना चाहते हैं कि उस प्रक्रिया की क्या फाइलें खुली हैं:

ls -l /proc/1234/fd

यदि आप पूर्ण कमांड लाइन को तर्कों के साथ देखना चाहते हैं:

tr '\0' '\n' </proc/1234/cmdline

यदि आप कमांड का उपयोग करना पसंद करते हैं, तो उन lsof -p1234सभी फाइलों को दिखाता है जो प्रक्रिया खुली है। ps uww 1234पूरी कमांड लाइन सहित प्रक्रिया 1234 के बारे में जानकारी के विभिन्न टुकड़े दिखाता है।


5

निम्नलिखित को निष्पादित करने का प्रयास करें:

ps -ef

3

सबसे पहले, ps aux | grep <PID>उपयोगी है जब आप एक विशिष्ट प्रक्रिया के लिए विवरण दिखाना चाहते हैं जिसका PID(प्रक्रिया पहचानकर्ता) द्वारा प्रतिनिधित्व किया जाता है <PID>

उदाहरण के लिए ( ps aux | grep 'firefox\|USER'केवल उन पंक्तियों को प्रिंट करें जिनका अर्थ है firefoxया USER):

ps aux | grep 'firefox\|USER'
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
terdon  9021  2.5 11.8 1950888 970832 ?      Sl   Apr03 108:41 /opt/firefox/firefox

तो, मेरे firefoxउदाहरण के लिए PID 9021 है। इसलिए, जिस कमांड को आप चलाने की कोशिश कर रहे हैं, उसका उपयोग करने के लिए, मैं इसके <PID>साथ बदलूंगा 9021:

ps aux | grep 9021
terdon  9021  2.5 11.5 1948776 942640 ?      Sl   Apr03 109:03 /opt/firefox/firefox

अब, मुझे यकीन नहीं है कि आप "इन प्रक्रियाओं को चलाने वाली फ़ाइलों को प्रदर्शित करें" से क्या मतलब है। यदि आप मतलब है कि इन प्रक्रियाओं का उपयोग कर रहे हैं जो फ़ाइलों का प्रदर्शन, ps auxऐसा करने का एक तरीका है। कहो कि मैंने /usr/share/doc/nano/faq.htmlइस कमांड का उपयोग करके फाइल को खोला है :

 firefox /usr/share/doc/nano/faq.html 

मैं देख सकता था कि किस फ़ाइल firefoxका उपयोग करके खोला गया था ps:

ps aux | grep firefox
terdon   31763 18.7  1.0 682916 84352 pts/10   Sl+  17:10   0:02 firefox /usr/share/doc/nano/faq.html

खोली गई फ़ाइल को फ़ायरफ़ॉक्स में दिए गए तर्कों में से एक के रूप में दिखाया गया है। ध्यान दें कि पीआईडी ​​अलग है (यह अब के 31763बजाय है 9021) ऐसा इसलिए है क्योंकि प्रत्येक चलने वाले कार्यक्रम का अपना अनूठा पीआईडी ​​है।


एक और उपयोगी कमांड है top। यदि आप इसे -cस्विच के साथ चलाते हैं, तो यह कमांड को दिए गए तर्कों को दिखाएगा, और इसके साथ -u <your user>यह केवल आपके उपयोगकर्ता नाम ( <your user>आपके वास्तविक उपयोगकर्ता नाम के साथ प्रतिस्थापित ) द्वारा शुरू की गई प्रक्रियाओं को दिखाएगा :

top -c -u terdon

यह मेरी स्थानीय मशीन पर उत्पादन है (उपयोगकर्ता terdonकेवल दो प्रक्रियाएं चला रहा है):

top - 17:14:41 up 3 days, 49 min, 14 users,  load average: 0.48, 0.54, 0.55
Tasks: 228 total,   1 running, 226 sleeping,   0 stopped,   1 zombie
%Cpu(s):  7.1 us,  5.5 sy,  0.0 ni, 86.5 id,  0.0 wa,  0.0 hi,  0.9 si,  0.0 st
KiB Mem:   8187940 total,  8007220 used,   180720 free,   349264 buffers
KiB Swap:  8191996 total,     5556 used,  8186440 free,  4173004 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND                                                       
31573 terdon    20   0 24900 5576 1684 S   0.0  0.1   0:00.20 bash                                                          
31763 terdon    20   0  666m  77m  28m S   0.0  1.0   0:02.39 firefox /usr/share/doc/nano/faq.html                          

द्वारा दिखाई गई जानकारी की व्याख्या के लिए top, एसयू पर संबंधित प्रश्न के लिए मेरा उत्तर देखें ।


0

शेल के अंतर्गत कुछ पात्र विशेष प्रयोजन के लिए हैं <>? "... ...

grep PID उपयोगी नहीं है क्योंकि PID प्रक्रिया आईडी है और grep समान संख्यात्मक मिलेगा ...

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