क्या google-chromeटर्मिनल से, उपयोग करने के अलावा, छोड़ने का कारण है killall google-chrome?
मैं इसे मार डाले बिना स्क्रिप्ट से इसे बंद करने में सक्षम होना चाहूंगा।
क्या google-chromeटर्मिनल से, उपयोग करने के अलावा, छोड़ने का कारण है killall google-chrome?
मैं इसे मार डाले बिना स्क्रिप्ट से इसे बंद करने में सक्षम होना चाहूंगा।
जवाबों:
शायद wmctrlकुछ सहायता हो सकती है। आप -cविकल्प का उपयोग कर सकते हैं जो एक खिड़की को इनायत से बंद करता है:
wmctrl -c chrome
स्ट्रिंग chromeको खिड़की के शीर्षक के खिलाफ मिलान किया जाता है। ध्यान दें कि कुछ संदेश पॉप-अप (जैसे जब आपके पास कई टैब खुले हों) विंडो बंद नहीं हो सकती है।
wmctrl।
pkill -o chromeहालांकि करता है।
यह कमांड सभी विंडो मैनेजरों में क्रोम प्रोसेस ट्री को इनायत से बाहर निकालता है:
pkill --oldest chrome
या यदि आप पसंद करते हैं:
/usr/bin/pkill --oldest --signal TERM -f chrome
विवरण:
SIGTERM--oldestSIGTERMसंकेत के समान है 15, इसलिए --signal TERM, या SIGTERMडिफ़ॉल्ट संकेत होने के बाद से इसे छोड़ देंwmctrl एकता और कुछ अन्य लोगों के साथ काम करता है लेकिन यह सभी विंडो प्रबंधकों के साथ काम नहीं करता हैwmctrl -c एक बार में एक विंडो को बंद करता है इसलिए सभी क्रोम विंडो को बंद करने के लिए आपको कुछ इस तरह की आवश्यकता होगी while wmctrl -c 'Google Chrome'; do sleep 0.2; done--oldestयह एक विकल्प नहीं है: -oकार्यों का उपयोग करना ।
-fpkill को तर्क मेरे लिए काम नहीं कर रहा है। मेरे पास कुछ अन्य प्रक्रियाएँ हैं जो रूट के रूप में चल रही हैं, जो क्रोम शब्द को उनकी कमांड लाइनों में रखने के लिए होता है, इसलिए मुझे केवल अनुमति से वंचित होना पड़ता है। इसके बिना -f, यह पूरी तरह से काम करता है।
यह मेरे लिए काम करता है:
killall --quiet --signal 15 -- chrome
ध्यान दें कि मैं इसे कोड में पठनीय रखने के लिए एक बल्कि वर्बोज़ कमांड का उपयोग कर रहा हूं, निश्चित रूप से आप यह भी जारी कर सकते हैं:
killall -q -15 chrome
पर Mac OS X, बजाय इसका उपयोग
pkill -a -i "Google Chrome"
Google Chrome प्रक्रिया को देखने के लिए यह क्या करता है, और इसके सभी मूल प्रक्रियाओं को भी मार देता है।
Pkill मैनुअल से
-a Include process ancestors in the match list. By default, the
current pgrep or pkill process and all of its ancestors are
excluded (unless -v is used).
-i Ignore case distinctions in both the process table and the
supplied pattern.
@ कीथ-कासिओ के उत्तर के अनुसार , आप इसके बजाय सबसे पुरानी प्रक्रिया को मारने की कोशिश कर सकते हैं। ध्यान दें कि यह मेरे लिए काम नहीं किया।
pkill -o -i "Google Chrome"
प्रयत्न:
kill -3 <pid_of_chrome>
यह क्रोम को "QUIT" सिग्नल भेजेगा, जो कि आपके विंडो मैनेजर पर निर्भर करता है, यह वही होगा जो आम तौर पर बंद करने के लिए कहा जाता है।
killया killallजहाँ क्रोम इसे एक दुर्घटना के रूप में देखता है, और पुनर्स्थापित करने के लिए कह रहा है।
SIGQUITआमतौर पर जब इसे बंद करने के लिए कहा जाता है तो मुझे आवेदन नहीं भेजा जाता है (मुझे ऐसा करने वाले किसी भी डब्ल्यूएम को नहीं पता है)। WM_DELETE_WINDOWमानक है।
kill -15 <pid_of_chrome>ने वही किया, जिसकी मुझे तलाश थी। लेकिन, google-chromeएक से अधिक pids हैं और यह वास्तव में सही पाने के लिए कुछ प्रयास किया।