यह प्रश्न अनुवर्ती है: प्रक्रियाओं को कैसे स्थगित करें और फिर से शुरू करें
मैंने गनोम-टर्मिनल में बैश सत्र से फ़ायरफ़ॉक्स शुरू किया है।
प्रक्रिया पेड़ इस तरह दिखता है:
$ ps -e -o pid,ppid,cmd -H
1828 1 gnome-terminal
26677 1828 bash
27980 26677 /bin/sh /usr/lib/firefox-3.6.15/firefox
27985 27980 /bin/sh /usr/lib/firefox-3.6.15/run-mozilla.sh /usr/lib/firefox-3.6.15/firefox-bin
27989 27985 /usr/lib/firefox-3.6.15/firefox-bin
28012 27989 /usr/lib/firefox-3.6.15/plugin-container /usr/lib/adobe-flashplugin/libflashplayer.so 27989 plugin true
जब मैं CTRL+Zबैश में मारूंगा, तो यह फ़ायरफ़ॉक्स को निलंबित कर देगा। जब मैं कमांड जारी करता हूं bg(या fg) यह फ़ायरफ़ॉक्स फिर से शुरू करेगा। यह उम्मीद के मुताबिक है।
जब मैं kill -s SIGTSTP 27980दूसरे टर्मिनल में कमांड जारी करता हूं , तो यह [1]+ Stopped firefoxपहले टर्मिनल में लाइन प्रिंट करेगा (जैसे कि जब मैं हिट CTRL+Zकरता हूं ), लेकिन यह फ़ायरफ़ॉक्स को निलंबित नहीं करता है। मुझे लगता है कि यह केवल शेल स्क्रिप्ट को निलंबित करता है।
जब मैं kill -s SIGTSTP 27989दूसरे टर्मिनल में कमांड (पीआईडी पर ध्यान दें) जारी करता हूं , तो यह फ़ायरफ़ॉक्स को निलंबित कर देगा। पहला टर्मिनल इस पर ध्यान नहीं देता है।
बैश पूरी प्रक्रिया पेड़ को कैसे निलंबित करता है? क्या यह सिर्फ पेड़ और SIGTSTP के सभी बच्चों को पीछे छोड़ देता है?
pgidलिए आपको अपने psकमांड में जोड़ना चाहिए ।