किसी प्रोग्राम के सभी इंस्टेंस को तुरंत कैसे बंद करें?


11

मेरी प्रेमिका की बिल्ली मेरे लैपटॉप पर चल रही थी, और मैंने उसे नोटिस नहीं किया। जब मैं जांच करने के लिए मुड़ा, तो मैंने देखा कि मेरे पास 32 "आर्काइव मैनेजर" टैब हैं। कैसे मैं उन सभी को तुरंत बंद कर सकते हैं, जैसे कि का उपयोग कर Alt+ F4एक ही बार में सब के सब पर।

जवाबों:


14

कमांड लाइन से:

killall file-roller

आप alt + f4 कर सकते हैं, लेकिन आपको प्रत्येक संग्रह प्रबंधक के लिए ऐसा करने की आवश्यकता है जिसे खोला गया था।


21
हालाँकि कुछ लोग यह तर्क दे सकते हैं कि "किलॉल" कमांड थोड़ी भारी-भरकम है, फिर भी kill catमैं जो सुझाव देने जा रहा था , उससे कहीं ज्यादा मानवीय समाधान आपके पास है।
निक वेनबर्ग

मुझे नहीं लगता कि इन सब को रोकने का कोई आसान तरीका है। Alt + f4 के बहुत सारे काम करेंगे, लेकिन यह सवाल नहीं था ;-)
Rinzwind

5
@NickWeinberg मैं इसकी सराहना :)
बिल्ली

5
मैंने इस प्रश्न को पढ़ा और गलत उत्तर दिया। मैंने सोचा कि यह बिल्ली के सभी बंद हो जाने के बारे में था, और ओपी को पता नहीं था कि बिल्ली ने ऐसा कैसे किया। मैं चकित था कि बिल्ली लिखने में सक्षम थी killall file-roller: डी
विक्टर मेलग्रेन

1
लानत @ViktorMellgren मेरी स्क्रीन पर मुझे कॉफी बनाना बंद करो
Rinzwind

3

wmctrlउपयोगिता (विंडो मैनेजर कंट्रोल) का उपयोग करने के लिए एक और दृष्टिकोण होगा । यह विंडो मैनेजर को यह बताने के लिए इस्तेमाल किया जा सकता है कि आपने क्लोज बटन पर क्लिक किया है। यह संभावित भारी-हाथ वाली प्रकृति से बचा जाता है killall; उदाहरण के लिए, एक सहेजे गए दस्तावेज़ के साथ कुछ प्रोग्राम तुरंत बाहर निकल जाएंगे जब उन्हें मार दिया जाता है (यहां तक ​​कि धीरे से), जबकि पास के बटन पर क्लिक करने से "क्या आप सहेजना चाहते हैं?" प्रेरित करना।

मूल कमांड है wmctrl -c WINDOWTITLE, इसलिए इस मामले में wmctrl -c "Archive Manager"(यह मानते हुए कि इसकी कोई खुली फाइल नहीं है: शीर्षक बदल जाता है)। दुर्भाग्य से, यह केवल एक समय में बंद हो जाता है, इसलिए हमें उन सभी को बंद करने के लिए और अधिक करने की आवश्यकता है।

wmctrl अगर यह एक मैच पाता है, तो सफलता मिलती है, इसलिए हम विफल होने तक लूप कर सकते हैं:

while wmctrl -c "Archive Manager"; do sleep 0.1; done

यह हमेशा पहली खिड़की को चुनता है जिसे यह पाता है, इसलिए हमें पहले से बंद होने वाली पहली खिड़की के करीब आदेशों की एक धारा भेजने से बचने के लिए थोड़ा सोने की जरूरत है - जो एक त्रुटि का कारण बन सकता है जो लूप को रोकता है।

यह सरल है और आम तौर पर काम करता है, लेकिन समय की एक निश्चित मात्रा में सोना और उम्मीद करता है कि हम फिर से कोशिश करने से पहले एक खिड़की बंद कर दें और त्रुटि से बचने का एक धीमा और धीमा तरीका है। हम वास्तव में क्या करना चाहते हैं, तुरंत हर मेल खाते विंडो में एक करीबी संदेश भेजना है।

हम सभी खुली खिड़कियों के साथ पा सकते हैं wmctrl -l। यह एक संख्यात्मक विंडो आईडी को सूचीबद्ध करता है जिसका उपयोग हम प्रत्येक विंडो को व्यक्तिगत रूप से पहचानने के लिए कर सकते हैं, भले ही उन सभी का शीर्षक समान हो। फिर हमें केवल मिलान वाली खिड़कियों ( grepकमांड) को फ़िल्टर करने की आवश्यकता है , बस विंडो आईडी ( cutकमांड) को बाहर निकालें और wmctrl -i -cप्रत्येक के लिए कॉल करें । -iखिड़की आईडी बजाय विंडो शीर्षक मिलान करने के लिए की जरूरत है।

for w in $(wmctrl -l | grep "Archive Manager" | cut -d" " -f1); do
    wmctrl -i -c $w
done

जब भी कोई बिल्ली आपके कीबोर्ड पर कदम रखती है, तो टाइप करने के लिए थोड़ा जटिल है, लेकिन उम्मीद है कि आपके स्क्रिप्टिंग टूलबॉक्स में रखने के लिए एक आसान तकनीक है।


2
तो आप उम्मीद करते हैं कि बिल्ली कुछ बचत करने लायक है?
रिनविंड

0

आप Ctrl+ Qकीबोर्ड शॉर्टकट का उपयोग कर सकते हैं जो पुरालेख प्रबंधक की सभी खुली हुई खिड़कियों को बंद कर देगा।


Ctrl+ Qशॉर्टकट उबंटू (और अन्य वितरण के बहुत सारे के साथ-साथ) पर आम है। यह अधिकतर उन अनुप्रयोगों के साथ काम करता है, जिनका मैंने अब तक उपयोग किया है। यही है, यह एक चल रहे एप्लिकेशन की सभी विंडो बंद कर देगा।


अपना वोट पूर्ववत् करें, क्योंकि मैं पुष्टि नहीं कर सकता कि Ctrl+Qवास्तव में ऐसा होता है। जबकि Quitमेनू ने पुरालेख प्रबंधक की सभी खुली हुई खिड़कियां बंद कर दीं, शॉर्टकट कुंजी ने ऐसा नहीं किया (कम से कम 14.04 में)।
क्लीमकिरा

1
@clearkimura मैं पुष्टि नहीं कर सकता कि यह इस तथ्य के कारण है कि मैं सूक्ति का उपयोग कर रहा हूं, या यदि यह उबंटू संस्करण के कारण है, लेकिन यह मेरे लिए Ubuntu 17.04 (सूक्ति के साथ) पर काम करता है, जो आर्काइव प्रबंधक संस्करण 3.22.3 का उपयोग करता है
Dan
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.