मैं एक विशिष्ट X विंडो को कैसे मार सकता हूं


9

द्वारा निर्मित आईडी को देखते हुए wmctrl -l, मैं विंडो आईडी से जुड़ी प्रक्रिया को मारने में सक्षम होना चाहता हूं।

आप इसे करने का सुझाव कैसे देंगे? '

जवाबों:


10

फ्लोरियन डिस्च और सर्ग द्वारा अन्य उत्तरों में वर्णित पीआईडी ​​को सूचीबद्ध करने के अलावा, आप -icविंडो को सीधे बंद करने के लिए विकल्प का उपयोग कर सकते हैं :

$ wmctrl -ic 0x02e00085

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

9

यदि आप wmctrl -lpपीआईडी ​​का उपयोग करते हैं तो तीसरे कॉलम में हैं।

किसी दिए गए विंडो आईडी के लिए आप उपयोग कर सकते हैं

kill $(wmctrl -lp | awk '/^WID/ {print $3}')

(अपनी विंडो आईडी के साथ WID बदलें)


शायद जाग के बजाय क्लीनर आप बस का उपयोगcol3 कर सकते हैं
पाब्लो बियांची

8

wmctrlवास्तव में -pपीआईडी ​​को सूचीबद्ध करने के लिए एक और झंडा है ।

bash-4.3$ wmctrl -lp
0x0380000a  0 4410   eagle Desktop
0x04800006  0 4275   eagle XdndCollectionWindowImp
0x04800009  0 4275   eagle unity-launcher
0x0480000c  0 4275   eagle unity-panel
0x0480000f  0 4275   eagle unity-dash
0x04800010  0 4275   eagle Hud

एक बार जब आप यह जान लेते हैं, तो यह उस खिड़की के पीआईडी ​​को निकालने और उसे पारित करने का एक तुच्छ अभ्यास है kill

wmctrl -lp | awk '/Window Title/{print $3}' | xargs kill

6

आप भी इस्तेमाल कर सकते हैं xkill -id [id]Xkill उपयोगिता अन्य उत्तर से अलग ढंग से काम करता है - बल्कि विंडो बंद करने या प्रक्रिया सीधे की मौत हो गई, यह X सर्वर का निर्देश ग्राहक उस खिड़की बनाई डिस्कनेक्ट करने के लिए। यह आम तौर पर एक दूरस्थ प्रक्रिया के लिए भी प्रक्रिया को समाप्त करने का कारण होता है।

प्रत्येक दृष्टिकोण के फायदे और नुकसान:

  • wmctrl -cएक विंडो "इनायत" को बंद करता है - जैसे कि आपने विंडो मैनेजर के क्लोज बटन को खुद क्लिक किया हो। यह प्रक्रिया को नहीं मार सकता है, और हो सकता है कि यह विंडो को बंद भी न करे, अगर एप्लिकेशन विंडो को बंद नहीं करना चाहता है, या जमे हुए है।

  • इस प्रक्रिया को मारने के लिए के wmctrl -lpसाथ से पीड का उपयोग करने killकी गारंटी दी जाती है, लेकिन अगर किसी अलग मशीन पर यह प्रक्रिया चल रही हो तो अतिरिक्त काम की आवश्यकता हो सकती है या नहीं।

  • xkillयदि यह एक्स सर्वर क्रैश या नेटवर्क कनेक्टिविटी के नुकसान से उबरने में सक्षम होने के लिए डिज़ाइन किया गया है, तो प्रक्रिया को समाप्त नहीं किया जा सकता है, लेकिन अधिकांश एप्लिकेशन इन परिस्थितियों में बस दुर्घटनाग्रस्त हो जाएंगे। किसी भी मामले में, खिड़कियां चली जाएंगी। और दूरस्थ प्रक्रियाओं और स्थानीय लोगों को पहचान के रूप में नियंत्रित किया जाता है।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.