Co dzieje się z plikami usuwanymi, gdy mają otwarty uchwyt pliku?
Zastanawiam się nad tym, odkąd wymyśliłem, że mogę usunąć plik wideo podczas odtwarzania w MPlayerze i nadal będzie on odtwarzany do końca. Skąd bierze dane? Czy nadal pochodzi z dysku twardego? Czy plik został skopiowany do pamięci RAM po usunięciu pliku?
Jeśli nadal znajduje się na dysku twardym, co się stanie, jeśli zapełnię system plików, gdy program działa w trybie odczytu z zasadniczo nieprzydzielonego miejsca? Jeśli jest buforowane w pamięci RAM, co się stanie, jeśli opróżnię bufory?
Co się stanie, jeśli plik był w udziale NFS - czy jest przechowywany na serwerze? (Czy to nie jest zagrożenie bezpieczeństwa - DoS przez mnóstwo otwartych uchwytów plików zdalnych?)
Robi lsof -n |grep '(deleted)'
czasem przynosi ciekawe rezultaty; jeśli aktualizuję pakiety, które wymieniają pliki bibliotek współużytkowanych, wówczas uruchomione programy, które korzystały z tych bibliotek, nadal będą mogły ich używać, jakby nic się nie zmieniło.
Pytanie dodatkowe: Czy istnieje sposób na odzyskanie danych z martwych w tej sytuacji?