स्क्रिप्ट के भीतर से, बैश स्क्रिप्ट की बाल प्रक्रियाओं की संख्या को कैसे पाएं?बाल प्रक्रियाओं की संख्या
उत्तर
बैश स्क्रिप्ट के पीआईडी प्राप्त करने के लिए आप चर $$
का उपयोग कर सकते हैं।
फिर, अपने बच्चों प्राप्त करने के लिए, आप चला सकते हैं:
bash_pid=$$
children=`ps -eo ppid | grep -w $bash_pid`
ps
माता पिता PIDs की सूची वापस आ जाएगी। फिर grep
बैश स्क्रिप्ट के बच्चों से संबंधित सभी प्रक्रियाओं को फ़िल्टर नहीं करता है। आदेश बच्चों की संख्या प्राप्त करने के लिए आप कर सकते हैं:
num_children=`echo $children | wc -w`
असल नंबर पर आप, 1 से बंद हो जाएगा मिल जाएगा ps
के बाद से पार्टी स्क्रिप्ट का एक बच्चा भी हो जाएगा। आप ps
एक बच्चे के रूप के निष्पादन गिनती करने के लिए नहीं करना चाहते हैं, तो आप सिर्फ ठीक कर सकते हैं कि साथ:
let num_children=num_children-1
अद्यतन: आदेश grep
बुला बचने के लिए, निम्न सिंटैक्स का उपयोग किया जा सकता है (यदि समर्थित ps
के स्थापित संस्करण) द्वारा:
num_children=`ps --no-headers -o pid --ppid=$$ | wc -w`
'grep -w $ bash_pid' यदि बैश पिड किसी बच्चे की प्रक्रिया आईडी का एक सबस्ट्रिंग है। – chepner
@chepner अच्छा बिंदु! मैं इसे ठीक कर दूंगा। धन्यवाद! :) – betabandido
यकीन नहीं है, लेकिन मुझे लगता है कि अतिरिक्त प्रक्रिया सबहेल है जिसमें ps/grep पाइपलाइन शामिल है।बस pedantic होने :) – chepner
--ppid
विकल्प के साथ उपयोग ps
वर्तमान बैश प्रक्रिया के बच्चों को चुनने के लिए।
bash_pid=$$
child_count=$(ps -o pid= --ppid $bash_id | wc -l)
let child_count-=1 # If you don't want to count the subshell that computed the answer
(नोट: इस --ppid
के लिए ps
का लिनक्स संस्करण की आवश्यकता है, अगर वहाँ बीएसडी ps
या नहीं करने के लिए एक बराबर है मैं नहीं जानता।।)
आप की तरह खोल builtin आदेश नौकरियों का मूल्यांकन कर सकते हैं :
counter = `jobs | wc -l`
वह नौकरियों की गणना करता है, प्रक्रियाओं में नहीं। एक नौकरी में कई प्रक्रियाएं हो सकती हैं। – chepner
बराबर चिह्न के आसपास कोई जगह नहीं है। बैकटीक्स के बजाय '$()' का उपयोग करें। –
तुम भी उपयोग कर सकते हैं pgrep:
child_count=$(($(pgrep --parent $$ | wc -l) - 1))
बैश प्रक्रिया के बच्चों की सूची प्राप्त करने के लिए pgrep --parent $$
का उपयोग करें।
तब लाइनों की संख्या प्राप्त करने के लिए उत्पादन पर wc -l
का उपयोग करें: $(pgrep --parent $$ | wc -l)
तो 1 (wc -l
रिपोर्ट 1 यहां तक कि जब pgrep --parent $$
खाली है)
घटाना मैं पसंद करते हैं:
num_children=$(pgrep -c -P$$)
यह सिर्फ एक spawns प्रक्रिया, आपको पाइप में प्रोग्रामों द्वारा शब्दों की गणना करने या पीआईडी की संख्या समायोजित करने की आवश्यकता नहीं है।
उदाहरण:
~ $ echo $(pgrep -c -P$$)
0
~ $ sleep 20 &
[1] 26114
~ $ echo $(pgrep -c -P$$)
1
- 1. अजवाइन। प्रक्रियाओं की संख्या घटाएं
- 2. सभी बाल प्रक्रियाओं को कैसे ढूंढें?
- 3. वैश्विक स्तर पर पंजीकृत प्रक्रियाओं की अधिकतम संख्या
- 4. विंडोज़ में पोते की प्रक्रियाओं की प्रतीक्षा
- 5. फोर्क() और प्रतीक्षा करें() दो बाल प्रक्रियाओं के साथ
- 6. बाल प्रक्रिया के स्मृति उपयोग की निगरानी
- 7. फोर्क() और एसटीडीओयूटी/एसटीडीईआरआर बाल प्रक्रियाओं से कंसोल पर
- 8. एमपीआई स्पॉन: रूट प्रक्रिया बाल प्रक्रियाओं से संवाद नहीं करती
- 9. पर्यवेक्षक समय-समय पर बाल प्रक्रियाओं को पुनरारंभ करें
- 10. बच्चे नोड्स की पगिक्स संख्या संख्या
- 11. Erlang प्रक्रियाओं की कमी की गणना
- 12. बाल प्रक्रियाओं मर जब माता-पिता की मौत हो गई है, तो उनमें से एक SIGSTOP
- 13. एक प्रक्रिया के सीपीयू उपयोग और लिनक्स में अपने सभी बाल प्रक्रियाओं की गणना कैसे करें?
- 14. डाटाबेस में संग्रहीत प्रक्रियाओं की गणना करें?
- 15. uwsgi: डीजेंगो ऐप की ज़रूरत वाले श्रमिकों/प्रक्रियाओं की संख्या को परिभाषित करता है?
- 16. रूबी सूची बाल पिड्स
- 17. "टकराव" की न्यूनतम संख्या प्राप्त करने के समय प्रक्रियाओं को कैसे प्रसारित करें
- 18. क्या लिनक्स में प्रक्रियाओं की वर्तमान संख्या प्राप्त करने का हल्का तरीका है?
- 19. मल्टीप्रोसेसिंग के साथ प्रक्रियाओं की संख्या चुनते समय पालन करने के लिए कोई दिशानिर्देश हैं?
- 20. पायथन मल्टीप्रोसेसिंग: प्रतीक्षा प्रक्रियाओं की संख्या को सीमित करने के लिए कैसे?
- 21. क्या सेलरीड प्रक्रियाओं की संख्या --concurrency सेटिंग पर निर्भर करती है?
- 22. चल रहे प्रक्रियाओं की संख्या को सीमित करते हुए पाइथन में मल्टीप्रोसेसिंग
- 23. सभी बाल तत्वों की चौड़ाई निर्धारित करें
- 24. अधिभावी लिए अभिभावकों की तत्व बाल तत्व
- 25. PHP फोर्किंग और एकाधिक बाल सिग्नल
- 26. घटनाओं की संख्या के साथ संख्या
- 27. यात्री/mod_rails प्रक्रियाओं की निगरानी कैसे करें?
- 28. आईओएस मल्टी टास्किंग एपीआई/प्रक्रियाओं की सूची
- 29. संग्रहित प्रक्रियाओं की संरचना का सर्वोत्तम अभ्यास
- 30. कार्य समूहों की संख्या से संबंधित गणना इकाइयों की संख्या
एचएम। रिकर्सिवली? –