Yanıtlar:
Tam değil. Dosya program tarafından zaten açık. Dosyayı silmek (ve daha sonra başka bir sürümle değiştirmek) çalışan programı etkilemez; çünkü orijinal dosya açık tutulur (programda yeniden açmak için diskte bir ad olmasa da). Sadece dosyanın tüm tanıtıcıları kapalı olduğunda, diskteki veri blokları serbest bırakılır. O zamana kadar açık dosya normal şekilde okunup yazılabilir - tek değişiklik, adının kaldırılmasından bu yana başka kimsenin açamayacağıdır.
Programın bölümleri silindiğinde ram olarak çoktan okunmuş olsa da, daha sonra hala atılabilir ve daha sonra yeniden okunabilir veya programın daha önce yürütülmemiş olan yeni bölümleri silinen dosyadan yüklenebilir.
rm -rf /
çalışmasının sebebidir .....
rm -rf /
hemen ardından ikinci kez çalıştırmayı denerseniz işe yaramaz;)
lsof
Çıktıda sık sık "/ some / file / name (deleted)" ifadesini gördüm ve bir 'zombi' dosyasının nasıl göründüğünü biliyorum ... ama böyle bir dosyanın içeriğini yok etmekten kurtarmanın bir yolu var. son dosya tanıtıcısı ne zaman ölür?
root
, linkat
sistem çağrısını kullanarak bunun için bir ad oluşturabilir (ve böylece silmeyi önleyebilir) . Ancak çalıştırılabilirler ve kütüphaneler bir dosya tanıtıcısı gerektirmeyen hafıza ile eşleştirilmiştir. Bir dosya üzerinde sadece bellek haritalanmış olduğu için var olan herhangi bir yol bilmiyorum. Yürütülebilir dosyalara /proc
çalışırken erişilebilse de, bu yalnızca kurtarmanın ötesinde olabilecek kütüphaneler ve diğer bellek eşlemeli dosyalardır. Bununla ilgili daha fazla ayrıntı istiyorsanız, ayrı bir soru olarak sormalısınız.
xterm
İşlem devam ederken RAM'de önbelleğe alınmış mı ?
Kesinlikle. Bu, bir şeyleri kilitlenmeden çalışırken çalışırken güncelleştirmeleri yüklemenizi sağlayan işleme benzer. Ayrıca, hizmetleri güncelledikten sonra neden yeniden başlatmanız gerekeceği de. Bir şey çalıştığında, ikili hafızasındadır.
Kaldırılan veya değiştirilen diğer dosyalara (tutulan "açık" durumda olmayan) bağlıysa, bu sorunlara neden olabilir, ancak ayrık olduğu xterm
için bu bir sorun değildir.
Aslında bilgisayarların nasıl çalıştığının bir özelliğidir: Bir program çağrıldığında, gerçekten de belleğe yüklenir ve oradan çalışır.
Bir dosya aslında aynı şekilde çalışır. Sorunları önlemek için UNIX-ish sistemlerinde birçok dosya kilitleri oluşturur.
Asıl bilmece neden Windows'ta böyle ve benzeri şeyler yapamayacağınızdır.
Bu özellik aslında, sisteminizde aktif olan programlar dahil, tüm sistemi güncellemenize izin veren şeydir. ;)
apt-get
kaldırıyorxterm
ve bir şekilde birxterm
sürece bağlı olduğu hakkında hiçbir fikri yok - bu yüzden "Çalışırken xterm neden kaldırılabilir?" Güzel soru.