जब कोई स्क्रिप्ट कमांड प्रॉम्प्ट से लॉन्च की जाती है, तो शेल उस स्क्रिप्ट के लिए एक उपप्रकार स्पॉन करेगा। मैं 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?