Jak to działa apt-get remove xterm
? Po odinstalowaniu xterm
nie zamyka się i nadal działa normalnie.
Czy xterm
proces jest buforowany w pamięci RAM podczas działania?
Jak to działa apt-get remove xterm
? Po odinstalowaniu xterm
nie zamyka się i nadal działa normalnie.
Czy xterm
proces jest buforowany w pamięci RAM podczas działania?
Odpowiedzi:
Nie do końca. Plik jest już otwarty przez program. Usunięcie pliku (a następnie zastąpienie go inną wersją) nie wpływa na działający program, ponieważ oryginalny plik jest utrzymywany jako otwarty (choć bez nazwy na dysku, aby go ponownie otworzyć), dopóki program się z nim nie skończy. Dopiero po zamknięciu wszystkich uchwytów pliku zwolnione zostają jego bloki danych na dysku. Do tego czasu otwarty plik można odczytywać i zapisywać jak normalnie - jedyną zmianą jest to, że nikt inny nie może go otworzyć, ponieważ jego nazwa została usunięta.
Chociaż części programu mogły już zostać wczytane do pamięci RAM po ich usunięciu, nadal mogą zostać odrzucone i ponownie odczytane później, lub nowe części programu, które nie zostały wcześniej uruchomione, mogą być nadal ładowane z usuniętego pliku.
rm -rf /
działa .....
rm -rf /
nie zadziała, jeśli spróbujesz uruchomić go drugi raz zaraz potem;)
lsof
wyjściu i wiem, że tak właśnie wygląda plik „zombie” ... ale czy istnieje jakiś sposób na zapisanie zawartości takiego pliku przed zniknięciem kiedy umiera ostatni uchwyt pliku?
root
może być w stanie utworzyć dla niego nazwę (a tym samym zapobiec usunięciu) za pomocą linkat
wywołania systemowego. Ale pliki wykonywalne i biblioteki są mapowane w pamięci, co nie wymaga uchwytu pliku. Nie znam żadnego sposobu na uchwycenie pliku, który istnieje tylko dlatego, że jest zmapowany w pamięci. Chociaż pliki wykonywalne są dostępne /proc
podczas ich działania, więc tylko biblioteki i inne pliki mapowane w pamięci mogą być niemożliwe do odzyskania. Jeśli chcesz uzyskać więcej informacji na ten temat, zadaj to jako osobne pytanie.
Czy
xterm
proces jest buforowany w pamięci RAM podczas działania?
Dokładnie. Jest podobny do procesu, który pozwala instalować aktualizacje rzeczy podczas ich działania bez awarii. A także dlaczego musisz ponownie uruchomić usługi po ich aktualizacji. Gdy coś działa, jego plik binarny jest w pamięci.
Jeśli zależy to od innych plików (które nie są w stanie wstrzymania „otwarcia”), które są usuwane lub zastępowane, może to powodować problemy, ale w przypadku czegoś tak dyskretnego jak xterm
nie jest to problem.
W rzeczywistości jest to cecha działania komputerów: gdy program jest wywoływany, jest rzeczywiście ładowany do pamięci i stamtąd działa.
Plik faktycznie działa w ten sam sposób. Aby uniknąć problemów, wiele plików w systemach UNIX tworzy blokady.
Prawdziwa zagadka polega na tym, że nie można robić takich i podobnych rzeczy w systemie Windows.
Ta funkcja umożliwia aktualizację całego systemu, w tym programów aktywnych w systemie. ;)
apt-get
odinstalowujexterm
i nie ma pojęcia, że w jakiś sposób zależy odxterm
procesu - więc chodzi o „Dlaczego Xterm można odinstalować podczas działania?”. Fajne pytanie.