web-dev-qa-db-ja.com

ターミナルがそれ自体をアンインストールできるのはなぜですか?

screenshot

apt-get remove xtermはどのように処理されますか?そして、アンインストールした後、xtermは閉じず、正常に機能し続けます。

xtermプロセスは、実行中にRAMにキャッシュされますか?

25
Huey

そうでもない。ファイルはすでにプログラムによって開かれています。ファイルを削除(および別のバージョンに置き換え)しても、プログラムが完了するまで元のファイルが(ディスク上に名前を付けずに)開いたままになるため、実行中のプログラムには影響しません。ファイルへのすべてのハンドルが閉じられた場合のみ、ディスク上のデータブロックが解放されます。それまでは、開いているファイルは通常のように読み書きできます。唯一の変更点は、名前が削除されたため、他の誰も開くことができないことです。

プログラムの一部は、削除されたときに既にRAMに読み込まれている可能性がありますが、破棄されて後で再読み込みされるか、以前に実行されなかったプログラムの新しい部分が削除されたファイルから読み込まれます。

54
psusi

xtermプロセスは、実行中にRAMにキャッシュされますか?

まさに。実行中にクラッシュすることなく更新をインストールできるプロセスに似ています。また、サービスの更新後にサービスを再起動する必要がある理由。何かが実行されると、そのバイナリはメモリ内にあります。

削除または置換される他のファイル(「開かれた」状態にない)に依存している場合、問題が発生する可能性がありますが、xtermのように個別のものでは問題ではありません。

8
Oli

それは実際にコンピューターがどのように機能するかの特徴です。プログラムが呼び出されると、それは実際にメモリにロードされ、そこから動作します。

ファイルは実際には同じように機能します。問題を避けるために、UNIX風のシステムの多くのファイルはロックを作成します。

実際のなぞなぞが、Windowsでそのようなことや似たようなことをできない理由です。

この機能は、実際には、システムでアクティブなプログラムを含むシステム全体を更新できるようにするものです。 ;)

2
runlevel0