मैंने इसे देखने की कोशिश की, लेकिन मुझे यह नहीं मिला। मैं खोज रहा हूँ:
प्रक्रिया X में थ्रेड्स की संख्या
वर्तमान में चल रहे धागों की कुल संख्या
मैंने इसे देखने की कोशिश की, लेकिन मुझे यह नहीं मिला। मैं खोज रहा हूँ:
प्रक्रिया X में थ्रेड्स की संख्या
वर्तमान में चल रहे धागों की कुल संख्या
जवाबों:
दिए गए pid के लिए थ्रेड्स की संख्या प्राप्त करने के लिए:
ps -o nlwp <pid>
सिस्टम में चल रहे सभी थ्रेड्स का योग प्राप्त करने के लिए:
ps -eo nlwp | tail -n +2 | awk '{ num_threads += $1 } END { print num_threads }'
ps -o nlwp <pid>
रिटर्न NLWP :), इसका क्या मतलब है?
ps h -o nlwp $pid
मैं इस उत्तर को आधार बना रहा हूं ps axms
। ps
क्या चल रहा है लिस्टिंग के लिए एक महान उपकरण है।
यदि आप उस प्रक्रिया को फ़िल्टर करना चाहते हैं, तो आप कुछ इस तरह की कोशिश कर सकते हैं:
echo $(( `ps axms | grep firefox | wc -l` - 1))
हम 1 घटाते हैं क्योंकि grep उस सूची में दिखाई देगा।
सामान्य तौर पर सभी थ्रेड्स के लिए यह काम करना चाहिए:
echo $(( `ps axms | wc -l` - 1))
हम इस बार एक घटाते हैं क्योंकि एक हेडर पंक्ति है।
थ्रेड्स की कुल संख्या (एक साथ चलने वाली प्रक्रिया के छोटे टुकड़े) प्राप्त करने के लिए आप कमांड का उपयोग कर सकते हैं ps -o nlwp <pid>
यह हर समय काम करता है। लेकिन अगर आप इसे एक फ़ाइल के माध्यम से देखने की कोशिश करना पसंद करते हैं। आपको सिस्टम की प्रत्येक प्रक्रिया के लिए बनाई गई फ़ाइलों को देखना चाहिए। वहां आप प्रक्रिया का अंतिम विवरण प्राप्त कर सकते हैं। प्रत्येक प्रक्रिया के लिए, वहाँ एक फ़ोल्डर बनाया जाता है जिसमें /proc/<pid>
आप अन्य सभी विवरण भी देख सकते हैं।
विशेष रूप से लाइनक्स पर, इसे प्रति-प्रक्रिया करने का एक तरीका है:
#!/bin/sh
while read name val; do
if [ "$name" = Threads: ]; then
printf %s\\n "$val"
return
fi
done < /proc/"$1"/status
फिर आप इस स्क्रिप्ट को एक तर्क के रूप में एक पीआईडी के साथ आमंत्रित कर सकते हैं, और यह उस प्रक्रिया के स्वामित्व वाले थ्रेड्स की संख्या की रिपोर्ट करेगा।
पूरे सिस्टम के लिए थ्रेड काउंट प्राप्त करने के लिए, यह पर्याप्त है:
#!/bin/sh
count() {
printf %s\\n "$#"
}
count /proc/[0-9]*/task/[0-9]*
ये दृष्टिकोण थोड़ा अपरंपरागत लग सकता है जिसमें वे शेल विशेषताओं पर बहुत अधिक भरोसा करते हैं, लेकिन बदले में दोनों मेरी मशीन पर संबंधित ps
और- awk
आधारित दृष्टिकोणों की तुलना में तेज हैं (जबकि पाइपों के लिए अपने स्वयं के अतिरिक्त थ्रेड्स भी नहीं बना रहे हैं)। ध्यान रखें कि इन लिपियों को चलाने के लिए जो शेल लॉन्च किया गया है, उसमें स्वयं का एक धागा होगा (या अधिक, यदि आप एक अजीब कार्यान्वयन का उपयोग कर रहे हैं)।