web-dev-qa-db-fra.com

Pourquoi le terminal peut-il se désinstaller?

screenshot

Comment se passe apt-get remove xterm? Et après la désinstallation, xterm ne ferme pas et continue de fonctionner normalement.

Le processus xterm est-il mis en cache dans RAM pendant son exécution?

25
Huey

Pas assez. Le fichier est déjà ouvert par le programme. La suppression du fichier (puis son remplacement par une autre version) n’affectera pas le programme en cours d’exécution, car le fichier original est maintenu ouvert (sans nom sur le disque pour le rouvrir) tant que le programme n’est pas terminé. Ce n'est que lorsque tous les descripteurs du fichier sont fermés que ses blocs de données sur disque sont libérés. Jusque-là, le fichier ouvert peut être lu et écrit comme d'habitude - le seul changement est que personne d'autre ne peut l'ouvrir car son nom a été supprimé.

Certaines parties du programme ont peut-être déjà été lues dans le bélier lorsqu'il est supprimé, mais elles peuvent toujours être supprimées et relues plus tard, ou de nouvelles parties du programme qui n'ont pas encore été exécutées peuvent toujours être chargées à partir du fichier supprimé.

54
psusi

Le processus xtermest-il mis en cache dans RAM pendant son exécution?

Exactement. Ce processus est similaire au processus qui vous permet d’installer des mises à jour pendant leur exécution sans que celles-ci ne se bloquent. Et aussi pourquoi vous devez redémarrer les services après les avoir mis à jour. Une fois que quelque chose est en cours d'exécution, son binaire est en mémoire.

Si cela dépend d'autres fichiers (qui ne sont pas dans un état "ouvert" mis en attente) qui sont supprimés ou remplacés, cela peut entraîner des problèmes, mais pour quelque chose d'aussi discret que xtermname__, ce n'est pas un problème.

8
Oli

C’est en fait une caractéristique du fonctionnement des ordinateurs: lorsqu’un programme est appelé, il est en effet chargé dans la mémoire et fonctionne à partir de là.

Un fichier fonctionne réellement de la même manière. Pour éviter les problèmes, de nombreux fichiers dans les systèmes UNIX créent des verrous.

La véritable énigme est la raison pour laquelle vous ne pouvez pas faire des choses semblables et similaires dans Windows.

Cette fonctionnalité est en fait ce qui vous permet de mettre à jour tout le système, y compris les programmes actifs dans votre système. ;)

2
runlevel0