क्या क्वेरी के लिए एक अनुमोदित तरीका है कि क्या दस्तावेज़ लिनक्स में एक संपादक खुला है?
उदाहरण के लिए, यदि कोई दस्तावेज़ संपादित किया जा रहा है, तो हम चेतावनी देना चाहते हैं कि दस्तावेज़ खुला है और git
मर्ज या खींचने से पहले बच जाना चाहिए । हम स्वचालित हाउसकीपिंग (ट्रेलिंग व्हाट्सएप आदि को हटाने) से बचना चाहते हैं, ताकि फाइलों को सक्रिय रूप से संपादित किया जा सके।
तीन स्पष्ट लेकिन त्रुटिपूर्ण तरीके हैं।
- परीक्षण करें कि क्या फ़ाइल का उपयोग करके खुला है
lsof
। हालाँकि अधिकांश संपादक दस्तावेज़ को संपादित करते समय फ़ाइल को खुला नहीं छोड़ते हैं। - जांचें कि क्या संपादक विंडो खुली है
wmctrl -l
। यह एक्स संपादकों तक सीमित है, और तब भी जब दस्तावेज़ सक्रिय टैब है। - देखें कि क्या कोई अस्थायी फ़ाइल है। उदाहरण के लिए, यदि फ़ाइल
.foo.swp
मौजूद है , तो हम मान सकते हैं कि फ़ाइल अंदरfoo
खुली हैvim
, विशेष रूप से यदि.foo.swp
नई से अधिक हैfoo
। हालाँकि, संपादकों में एक समान नामकरण योजना नहीं है, और कुछ संपादक जैसेLyX
अस्थायी फ़ाइल को तुरंत नहीं बना सकते हैं।
तो क्या यह बताने का एक अनुशंसित तरीका है कि क्या एक संपादक में एक दस्तावेज़ खुला है जो सभी संपादकों (या कुछ सूक्ति / केडीई / अन्य मानक के अनुरूप कम से कम संपादकों) पर काम करता है?