又是怎樣apt-get remove xterm
經過的呢?並且卸載後xterm
不會關閉並繼續正常運作。
xterm
進程運行時是否緩存在 RAM 中?
答案1
不完全的。該文件已被程式開啟。刪除檔案(然後用另一個版本替換它)不會影響正在運行的程序,因為原始檔案保持開啟狀態(儘管磁碟上沒有名稱可以再次開啟它),直到程式完成它。只有當檔案的所有句柄都關閉時,磁碟上的資料塊才會被釋放。在此之前,可以像平常一樣讀取和寫入打開的檔案 - 唯一的變化是其他人無法打開它,因為它的名稱已被刪除。
雖然程式的某些部分在刪除時可能已經讀入RAM,但它們仍可能被丟棄並稍後重新讀取,或者仍可以從刪除的檔案中載入先前未執行的程式的新部分。
答案2
xterm
進程運行時是否緩存在 RAM 中?
確切地。它類似於允許您在事物運行時安裝更新而不會崩潰的過程。以及為什麼在更新服務後必須重新啟動服務。一旦某個東西開始運行,它的二進位就在記憶體中。
如果它依賴被刪除或替換的其他文件(不處於「開啟」狀態),則可能會導致問題,但對於像 一樣離散的文件xterm
,這不是問題。
答案3
它實際上是電腦工作方式的一個特徵:當呼叫程式時,它確實被載入到記憶體中並從那裡開始工作。
文件實際上以同樣的方式工作。為了避免出現問題,UNIX-ish 系統中的許多檔案都會建立鎖定。
真正的謎團是為什麼你不能在 Windows 中做類似的事情。
該功能實際上允許您更新整個系統,包括系統中活動的程式。 ;)