यदि मैं गलती से कोई एप्लिकेशन चला रहा हूँ और सॉफ्टवेयर अपडेटर में "अभी स्थापित करें" पर क्लिक करने से क्या होता है?


22

सॉफ़्टवेयर अपडेटर update-managerपॉप अप करता है और उदाहरण के लिए फ़ायरफ़ॉक्स के लिए सुरक्षा अपडेट दिखाता है। स्वाभाविक रूप से, मैं जारी रखने के लिए "अभी स्थापित करें" पर क्लिक करूंगा।

हालाँकि, अगर मेरे पास ऐसा करने पर फ़ायरफ़ॉक्स चल रहा हो तो क्या होगा? क्या यह अभी भी फ़ायरफ़ॉक्स को अपडेट करेगा? क्या अपडेट को छोड़ दिया जाएगा और अगली बार फिर से पॉप अप किया जाएगा? क्या अपडेट फ़ोर्स फ़ायरफ़ॉक्स को बंद कर देगा और शायद क्रैश हो जाएगा? क्या यह केवल आंशिक रूप से सॉफ़्टवेयर को अपडेट करेगा और संभवतः मेरे फ़ायरफ़ॉक्स इंस्टॉलेशन को तोड़ देगा?


10
कुछ नहीं होता, राम में फ़ायरफ़ॉक्स खुला है। कभी-कभी यह अपडेट का पता लगाता है और आपको ब्राउज़र को पुनरारंभ करने के लिए कहता है। लेकिन शायद अधिक अंतर्दृष्टि और संदर्भों वाला कोई व्यक्ति बेहतर उत्तर दे सकता है।
pLumo

3
मैं विशेष रूप से उबंटू के बारे में नहीं जानता, लेकिन आर्क पर (और मुझे नहीं लगता कि यह सब इस मामले में अलग है), काम करते समय अपने पैरों के नीचे फ़ायरफ़ॉक्स को अपडेट करना लगता है, लेकिन फिर फ़ायरफ़ॉक्स में आप पहली चीज़ को क्रैश करते हैं। चीज़। मैंने हमेशा सिर्फ यह माना है कि आधुनिक दिनों के ब्राउज़रों की जटिल प्रकृति, सभी प्रकार के सामानों को रन-लोड करना। लेकिन फ़ायरफ़ॉक्स एक ही चीज़ है जो मेरे लिए होता है।
tomsmeding

2
फ़ायरफ़ॉक्स अगली बार जब आप एक टैब खोलेंगे, और आपको बताएंगे कि इसे पुनरारंभ करने की आवश्यकता है। अन्य ऐप्स कुछ अलग कर सकते हैं।
माइकल हैम्पटन

जवाबों:


40

आप विंडोज के बारे में सोच रहे होंगे। यूनिक्स ने इसे सही किया, और फिर बाद में, विंडोज के साथ आया और चीजों को करने के गलत तरीके विकसित किए।

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

यूनिक्स के साथ, एक बार एक फाइल को एक प्रक्रिया द्वारा खोला गया है, वही फाइल प्रक्रिया के लिए हमेशा उपलब्ध रहेगी, भले ही मूल फाइल को फाइल सिस्टम से हटा दिया गया हो

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

यदि आप तुरंत अपडेट का लाभ प्राप्त करना चाहते हैं, तो आप फ़ायरफ़ॉक्स (या अन्य प्रक्रियाओं) को फिर से शुरू करने का निर्णय ले सकते हैं। चुनना आपको है।


टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
थॉमस वार्ड Thomas

18

आमतौर पर, किसी प्रोग्राम को अपडेट करना, जबकि यह पहले से ही खुला है, कोई समस्या नहीं है - जैसा कि अन्य उत्तरदाताओं ने समझाया है, एक रनिंग प्रक्रिया जारी रह सकती है भले ही इसका निष्पादन योग्य हटा दिया जाए।

हालाँकि, फ़ायरफ़ॉक्स के मल्टी-प्रोसेस मॉडल के कारण, आपको अपडेट के बाद इसे फिर से शुरू करने का संकेत मिल सकता है। ऐसा इसलिए है क्योंकि फ़ायरफ़ॉक्स अलग-अलग वेबसाइटों को अलग करने के लिए नई प्रक्रियाओं को जन्म देता है, इसलिए यदि आपने इसे अपडेट करने के बाद एक नई प्रक्रिया शुरू की है, लेकिन फ़ायरफ़ॉक्स को पुनः आरंभ करने से पहले, नई प्रक्रिया बाकी ब्राउज़र की तुलना में फ़ायरफ़ॉक्स का एक नया संस्करण होगी। यह विभिन्न मुद्दों का कारण बन सकता है, इसलिए फ़ायरफ़ॉक्स आपको जारी रखने की अनुमति देने से पहले इसे पुनरारंभ करने के लिए संकेत दे सकता है।

संयोग से, क्रोम एक "ज़ीगोट" प्रक्रिया का उपयोग करके इससे बचता है जो कुछ भी नहीं करने के आसपास बैठता है; जब ब्राउज़र को फिर से निष्पादन योग्य ब्राउज़र को निष्पादित करने के लिए ओएस से पूछने के बजाय एक नई प्रक्रिया को स्पॉन करने की आवश्यकता होती है (जो संभवतः-अपडेट किए गए बाइनरी को निष्पादित करेगा) तो यह युग्मन प्रक्रिया को खुद को डुप्लिकेट करने के लिए कहता है, और एक प्रतियों में फिर सामान्य हो जाता है प्रक्रिया।


1
इसके अलावा, फ़ायरफ़ॉक्स जैसे जटिल एप्लिकेशन के साथ, प्रोग्राम लॉन्च होने पर संभवतः इसका सामना करने वाली किसी भी चीज़ से निपटने की आवश्यकता हो सकती है। ताकि जरूरत के अनुसार लोड होने वाले घटक समान रूप से संस्करणों का बेमेल बना सकें। मैंने अक्सर फ़ायरफ़ॉक्स को लटका दिया था जब इसे चलाते समय अपडेट किया गया था।
fixer1234

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

@Voo पूछता है "क्या यह वास्तव में हर एक पुस्तकालय को लोड करता है जो इसे स्टार्टअप के किसी भी बिंदु पर आवश्यकता हो सकती है?"। मैं इस विशिष्ट उदाहरण के बारे में नहीं जानता, लेकिन सामान्य तौर पर यह आवश्यक नहीं है। यह सुनिश्चित करने के लिए आवश्यक है कि प्रत्येक संभावित पुस्तकालय को स्टार्टअप पर खोला जाए, जिससे इस बात की गारंटी हो कि सही डेटा को पढ़ा जा सके और इसकी कभी भी जरूरत पड़े। एक फ़ाइल (या दर्जनों फाइलें) खोलना एक तुच्छ व्यय है, जिसमें वे सब कुछ लोड करने की तुलना में हैं।
रे बटरवर्थ

@ री मजेदार तथ्य: dlopen केवल एक फाइल का नाम लेता है, लेकिन फाइल डिस्क्रिप्टर का नहीं, ताकि यह उतना आसान न हो जितना आपने सोचा था कि यह होगा (आप इसके साथ खेल सकते हैं / खरीद सकते हैं लेकिन यह * nixes के साथ कुख्यात है)। लेकिन इससे भी बड़ा मुद्दा यह है कि ज्यादातर उपयोग के मामलों को खत्म कर दिया जाएगा जहां डायनामिक लोडिंग का उपयोग शुरू करने के लिए किया जाता है।
Voo

@Voo, सॉरी, मुझे गलती से लगा कि यह टिप्पणी यूनिक्स-ओरिएंटेड थ्रेड में है, विंडोज और डीएल के बारे में नहीं।
रे बटरवर्थ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.