Yanlışlıkla bir uygulamayı çalışır durumda bırakırsam ve Yazılım Güncelleyicide “Şimdi Kur” a tıklarsam ne olur?


22

Yazılım Güncelleyici update-manageraçılır ve örneğin Firefox için güvenlik güncellemelerini gösterir. Doğal olarak, devam etmek için "Şimdi Yükle" yi tıklayacağım.

Ancak, bunu yaptığımda hala Firefox çalışıyorsa ne olur? Hala Firefox’u güncelleyecek mi? Güncelleme atlanacak ve bir dahaki sefere tekrar açılacak mı? Güncelleme Firefox'u kapanmaya ve belki çökmeye zorlar mı? Yazılımı yalnızca kısmen güncelleyecek ve Firefox kurulumumu bozabilecek mi?


10
Hiçbir şey olmuyor, Firefox Ram'da açık. Bazen güncellemeyi algılar ve tarayıcıyı yeniden başlatmanızı söyler. Ama belki daha fazla içgörü ve referansları olan biri daha iyi bir cevap verebilir.
pLumo

3
Özellikle Ubuntu'yu bilmiyorum, ama Arch (ve bu durumda tamamen farklı olduğunu sanmıyorum), çalışırken ayaklarının altındaki firefox'u güncellemek işe yarıyor gibi görünüyor , ancak daha sonra firefox'ta yaptığınız ilk şey çöküyor şey. Her zaman sadece modern tarayıcıların karmaşık yapısına, her türlü malzemeyi çalıştırmadan yükledim. Ancak firefox benim için olan tek şey.
tomsmeding

2
Firefox, bir sonraki sekmeyi açtığınızda duracak ve size yeniden başlatılması gerektiğini söyleyecektir. Diğer uygulamalar farklı bir şey yapabilir.
Michael Hampton,

Yanıtlar:


40

Windows düşünmelisin. Unix doğru yaptı ve sonra Windows geldi ve yanlış şeyler yapmanın yollarını geliştirdi.

Windows'da, çalışan bir işlem tarafından kullanılan bir dosyanın değiştirilmesi bu işlemi kötü etkileyebilir. İşlem, o dosyadaki konumlara başvuruda bulunacak ve ondan genellikle felaket sonuçlarla yanlış bilgi alacaktır. Bu nedenle, bir Windows güncellemesi genellikle tüm işlemlerin kitaplıkların doğru sürümlerini kullanmasını sağlamak için yeniden başlatma gerektirir.

Unix ile, bir dosya bir işlem tarafından açıldığında , orijinal dosya dosya sisteminden kaldırılsa bile aynı dosya işlem için her zaman kullanılabilir durumda olacaktır .

Güncellemeden sonra, dosya sistemi dosyanın farklı bir sürümünü içerecek ve güncellemeden sonra başlayan tüm işlemler bu yeni dosyayı kullanacaktır. Ancak, Windows'un aksine, tüm eski Unix işlemleri, başladıkları orijinal dosyaları kullanmaya devam edecektir. Dosya sistemi üzerinden artık erişilebilir olmasa da, bu dosyalar herhangi bir işlem kullandığı sürece devam eder. Sonunda, hiçbir işlem dosyaları kullanmadığında, dosyaların eski sürümü nihayet silinir.

Güncellemenin avantajlarından hemen yararlanmak istiyorsanız, tabii ki Firefox’u (veya diğer işlemleri) yeniden başlatmaya karar verebilirsiniz. Seçim senin.


Yorumlar uzun tartışmalar için değildir; bu konuşma sohbete taşındı .
Thomas Ward

18

Genelde, bir programı zaten açıkken güncellemek sorun değildir - diğer yanıtlayıcıların açıkladığı gibi, çalıştırılabilir bir işlem yürütülebilir olsa bile silinmeye devam edebilir.

Ancak, Firefox'un çoklu işlem modeli nedeniyle, herhangi bir güncellemeden sonra yeniden başlatmanız istenebilir. Bunun nedeni, Firefox’un farklı web sitelerini yalıtmak için yeni süreçler ortaya çıkarmasıdır, bu nedenle güncelledikten sonra yeni bir süreç ortaya çıkarsa, ancak Firefox’u yeniden başlatmadan önce, yeni işlem, tarayıcının geri kalanından daha yeni bir Firefox sürümü olacaktır. Bu, çeşitli sorunlara neden olabilir, bu yüzden devam etmeden önce Firefox sizden yeniden başlatmanızı isteyebilir.

Bu arada, Chrome , hiçbir şey yapmadan oturmuş bir "zigot" işlemi kullanarak bunu önler ; tarayıcının yeni bir işlem başlatması gerektiğinde, işletim sisteminden tarayıcıyı yeniden çalıştırılabilir yürütmesini istemek (muhtemelen güncellenen ikili dosyayı çalıştırabilir), zigot işleminden kendisini kopyalamasını ister ve kopyalardan biri normal bir oluşturucu olur süreci.


1
Ayrıca, Firefox gibi karmaşık bir uygulamayla, program başladığında karşılaşabileceği herhangi bir şeyle başa çıkmak için ihtiyaç duyabileceği her şey belleğe yüklenmez. Dolayısıyla, gerektiği gibi yüklenen bileşenler benzer şekilde sürümlerin uyumsuzluğuna neden olabilir. Çalışırken güncellerken Firefox'u sık sık kapattım.
fixer1234

Yalnızca çok işlemli modellere sahip tarayıcılar değil, IPC için kitaplıkların kullanıldığı ve güncelleme işleminden önce ve sonra kitaplıkların yüklenebildiği herhangi bir durum - tarayıcılar muhtemelen bu günlerin en iyi bilinen örneği olsalar da oldukça yaygın olması, daha birçok programın örtük olarak böyle bir şey yapabileceği anlamına gelir). Ayrıca, Chrome'un zigot işleminde bu sorunu tamamen önlediğini hayal edemiyorum - başlangıçta herhangi bir noktada ihtiyaç duyabileceği her kitaplığı gerçekten yüklüyor mu?
Voo

@Voo, "başlangıçta herhangi bir noktasında ihtiyaç duyabileceği her kütüphaneyi gerçekten yüklüyor mu?" Bu spesifik örnek hakkında bilmiyorum ama genel olarak gerekli değildir. Gerekli olan her şey mümkün olan her kütüphanenin başlangıçta açılmasını sağlamak, böylece gerekli olması halinde doğru verilerin okunacağını garanti etmektir. Bir dosyayı açmak (veya onlarca dosyayı), içerdikleri her şeyi yüklemekle karşılaştırıldığında önemsiz bir masraftır.
Ray Butterworth

@Ray Eğlence olgusu: dlopen yalnızca bir dosya adı alır, ancak dosya tanımlayıcılarını değil, bu yüzden düşündüğünüz kadar basit olmayabilir (/ proc ile oynayabilirsiniz ancak bu * nix'ler boyunca farklıdır). Ancak daha büyük sorun, dinamik yüklemenin başlangıçta kullanıldığı çoğu kullanım durumunu ortadan kaldıracak olmasıdır.
Voo

@Voo, üzgünüm, yanlışlıkla bu yorumun Windows ve eşyalarla ilgili değil, unix odaklı bir konu olduğunu düşündüm.
Ray Butterworth
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.