जब कोई स्क्रिप्ट कमांड प्रॉम्प्ट से लॉन्च की जाती है, तो शेल उस स्क्रिप्ट के लिए एक उपप्रकार स्पॉन करेगा। मैं ps
ट्री स्टाइल आउटपुट में टर्मिनल स्तर की प्रक्रिया और उसके बच्चों के बीच संबंध दिखाना चाहता हूं ।
मैं यह कैसे कर सकता हूँ?
मैंने अब तक क्या कोशिश की है
फ़ाइल: script.sh
#!/bin/bash
ps -f -p$1
फिर मैं टर्मिनल शेल की प्रक्रिया आईडी में पास होने वाली कमांड लाइन से स्क्रिप्ट को आमंत्रित करता हूं:
$ ./script.sh $$
मैं जो चाहता हूं वह कुछ इस तरह है
- शीर्ष स्तर (टर्मिनल) शेल प्रक्रिया
- ./script.sh
ps
खुद के लिए प्रक्रिया
USER PID [..]
ubuntu 123 -bash
ubuntu 1234 \_ bash ./script.sh
ubuntu 12345 \_ ps auxf
Im क्या हो रहा है:
PID TTY STAT TIME COMMAND
14492 pts/24 Ss 0:00 -bash
@ मरमू मैंने कोशिश की
—
the_velour_fog
pstree
और इसे सार्थक आउटपुट देने के लिए नहीं मिला, मुझे लगता है कि pstree $$
सिर्फ bash--pstree
वही नहीं जो मैं देख रहा था।
यह वह नहीं है जो आप खोज रहे हैं? आपने स्क्रिप्ट को बदल दिया है और
—
मूरू
ps
इसलिए आपको इसके अलावा और क्या देखने की उम्मीद है pstree
?
@ अपने तकनीकी रूप से अपने अधिकार को जो मैं चाहता था, लेकिन बहुत कम। यानी आपको यह कैसे पता चलेगा कि आप पीआईडी के बिना किन प्रक्रियाओं को देख रहे हैं जैसे पीएस इसे टेबल आउटपुट दिखाता है?
—
the_velour_fog
pstree -p $$
? या, यदि आप कमांड लाइन शो के अधिक चाहते हैं pstree -pa $$
,। या, यदि आप सभी मूल प्रक्रियाओं को दिखाना चाहते हैं, तो pstree -psa $$
।
pstree
?