Google Chrome को टर्मिनल से बाहर निकालें


28

क्या google-chromeटर्मिनल से, उपयोग करने के अलावा, छोड़ने का कारण है killall google-chrome?
मैं इसे मार डाले बिना स्क्रिप्ट से इसे बंद करने में सक्षम होना चाहूंगा।


2
मारने में क्या बुराई है?
ज़ोराडैस

1
@Zoredache यह बाहर निकलने से अलग व्यवहार के परिणामस्वरूप होता है, और यह कि Chrome कई प्रक्रियाओं का उपयोग करता है, जिनमें से एक (सैंडबॉक्स) सेटलिड रूट है।
गिल्स एसओ- बुराई को रोकें '

जवाबों:


12

शायद wmctrlकुछ सहायता हो सकती है। आप -cविकल्प का उपयोग कर सकते हैं जो एक खिड़की को इनायत से बंद करता है:

wmctrl -c chrome

स्ट्रिंग chromeको खिड़की के शीर्षक के खिलाफ मिलान किया जाता है। ध्यान दें कि कुछ संदेश पॉप-अप (जैसे जब आपके पास कई टैब खुले हों) विंडो बंद नहीं हो सकती है।


1
यह विकल्प त्रुटिपूर्ण काम करता है, लेकिन इसके स्थापना की आवश्यकता है wmctrl
slybloty

wmctrl सिस्टम ट्रे "क्रोम ऐप्स" को बंद नहीं कर सकता है। pkill -o chromeहालांकि करता है।
केन शार्प

26

यह कमांड सभी विंडो मैनेजरों में क्रोम प्रोसेस ट्री को इनायत से बाहर निकालता है:

pkill --oldest chrome

या यदि आप पसंद करते हैं:

/usr/bin/pkill --oldest --signal TERM -f chrome    

विवरण:

  • कृपापूर्वक इसका अर्थ है: "Google Chrome सही ढंग से बंद नहीं हुआ, यह देखने से बचें। रेपेनी ... "अगली बार क्रोम शुरू होता है
  • क्रोम ब्राउज़र (जैसे संस्करण 39.0.2171.95) जाल और सुंदर ढंग से संभालता है SIGTERM
  • एकल प्रक्रिया का संकेत, क्रोम की प्रक्रिया पेड़ की जड़ है, इसलिए --oldest
  • SIGTERMसंकेत के समान है 15, इसलिए --signal TERM, या SIGTERMडिफ़ॉल्ट संकेत होने के बाद से इसे छोड़ दें
  • wmctrl एकता और कुछ अन्य लोगों के साथ काम करता है लेकिन यह सभी विंडो प्रबंधकों के साथ काम नहीं करता है
  • wmctrl -c एक बार में एक विंडो को बंद करता है इसलिए सभी क्रोम विंडो को बंद करने के लिए आपको कुछ इस तरह की आवश्यकता होगी while wmctrl -c 'Google Chrome'; do sleep 0.2; done

1
मुझे लगता है कि मैं pkill के पुराने संस्करण का उपयोग कर रहा हूं क्योंकि --oldestयह एक विकल्प नहीं है: -oकार्यों का उपयोग करना ।
केन शार्प

-fpkill को तर्क मेरे लिए काम नहीं कर रहा है। मेरे पास कुछ अन्य प्रक्रियाएँ हैं जो रूट के रूप में चल रही हैं, जो क्रोम शब्द को उनकी कमांड लाइनों में रखने के लिए होता है, इसलिए मुझे केवल अनुमति से वंचित होना पड़ता है। इसके बिना -f, यह पूरी तरह से काम करता है।
ब्रायन मिंटन

यह अभी भी मुझे देखता है '' चुपचाप बंद नहीं किया ''
xtrinch

उबंटू 18.04 में, मैं इसे पुनरारंभ या शटडाउन शुरू करने के तुरंत बाद कैसे निष्पादित कर सकता हूं।
बजे जैम हैबटलजेल

1

यह मेरे लिए काम करता है:

killall --quiet --signal 15 -- chrome

ध्यान दें कि मैं इसे कोड में पठनीय रखने के लिए एक बल्कि वर्बोज़ कमांड का उपयोग कर रहा हूं, निश्चित रूप से आप यह भी जारी कर सकते हैं:

killall -q -15 chrome

1

पर 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"

0

प्रयत्न:

kill -3 <pid_of_chrome>

यह क्रोम को "QUIT" सिग्नल भेजेगा, जो कि आपके विंडो मैनेजर पर निर्भर करता है, यह वही होगा जो आम तौर पर बंद करने के लिए कहा जाता है।


2
यह ठीक उसी तरह काम करता है जैसे killया killallजहाँ क्रोम इसे एक दुर्घटना के रूप में देखता है, और पुनर्स्थापित करने के लिए कह रहा है।
18-13 पर slybloty

1
3 के बजाय 15 की कोशिश करें, फिर
ब्लैकले मोरी

6
वास्तव में, SIGQUITआमतौर पर जब इसे बंद करने के लिए कहा जाता है तो मुझे आवेदन नहीं भेजा जाता है (मुझे ऐसा करने वाले किसी भी डब्ल्यूएम को नहीं पता है)। WM_DELETE_WINDOWमानक है।
क्रिस डाउन

2
@ blacklemon67 kill -15 <pid_of_chrome>ने वही किया, जिसकी मुझे तलाश थी। लेकिन, google-chromeएक से अधिक pids हैं और यह वास्तव में सही पाने के लिए कुछ प्रयास किया।
slybloty
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.