के उत्पादन में हर प्रक्रिया सूचीबद्ध होगी ps aux
; चाहे दौड़ना, सोना, ज़ोंबी या रुकना।
हालाँकि, आपके मामले में, चूंकि आपने प्रक्रिया का उपयोग करके भाग लिया है sh abc.sh
, sh
यह एप्लिकेशन (शेल) है जो चल रहा है और नहीं abc.sh
। इसलिए, ps aux
इसमें वह प्रक्रिया शामिल नहीं होगी abc.sh
जिसके कारण grep
कोई परिणाम नहीं निकल सका।
तो, सही तरीका है कि आप इसे इस्तेमाल किया जाना चाहिए है:
ps aux | grep sh
यह आपको अन्य प्रक्रिया को भी लौटा सकता है sh
जो उनके आउटपुट में कहीं भी स्ट्रिंग कर रहे हैं ps aux
।
आप ध्यान देना चाहिए कि प्रक्रिया जाएगा "चल" हो जब के उत्पादन में ps aux
अपनी है STAT
के रूप में R
। यदि यह इसके अलावा कुछ और है, तो यह उस समय नहीं चल रहा है जब आपने चल रही प्रक्रियाओं की जांच करने के लिए कमांड को निकाल दिया था। पीएस के लिए अलग-अलग प्रक्रिया राज्यों को मैन पेज में पाया जा सकता है:
D uninterruptible sleep (usually IO)
R running or runnable (on run queue)
S interruptible sleep (waiting for an event to complete)
T stopped, either by a job control signal or because it is being traced
W paging (not valid since the 2.6.xx kernel)
X dead (should never be seen)
Z defunct ("zombie") process, terminated but not reaped by its parent
आप यह top
जांचने के लिए कमांड को चला सकते हैं कि क्या प्रक्रिया चल रही है या सो रही है और सीपीयू, रैम की कितनी मात्रा है। (यह फिर से आपकी प्रक्रिया को सूचीबद्ध करेगा sh
)।
हालाँकि, यदि आप चाहते हैं कि आपकी प्रक्रिया को सूचीबद्ध किया जाए abc.sh
, तो आपके पास उस स्क्रिप्ट की पहली पंक्ति होनी चाहिए जिस पर आप चल रहे हैं:
#!/bin/sh
ताकि शेल को पता चले कि स्क्रिप्ट को चलाने के लिए किस एप्लिकेशन का उपयोग करना है (इस मामले में श के लिए, इसे #!/bin/bash
बैश के लिए बदलें ) और फिर उपयोग करने वाली प्रक्रिया को निष्पादन योग्य अनुमति प्रदान करें:
chmod +x /path/to/abc.sh
फ़ाइल /path/to/
के स्थान के साथ प्रतिस्थापित करना abc.sh
और फिर abc.sh
उपयोग करके चलाना
/path/to/abc.sh
फ़ाइल /path/to/
के स्थान के साथ फिर से बदल रहा है abc.sh
।
S+
अर्थ क्या है