Question Tuez avec facilité defrag.exe lorsqu'il est exécuté dans l'invite de commande


Lorsque je lance defrag dans l'invite de commande, existe-t-il un moyen d'arrêter le processus avant qu'il ne soit terminé?

Tuer la tâche dans TM provoque-t-il des problèmes si elle est en train de déplacer un fichier?

Windows 7 Pro 64 bits


4
2017-08-08 01:17


origine




Réponses:


En théorie, il convient de mettre fin au programme en toute sécurité (dans votre cas, vous pouvez utiliser CTRL-C) car la conception de l'application Microsoft Disk Defragmenter vise à empêcher la perte de données en cas d'interruption inattendue. Ceci est documenté sur le site Web de Microsoft comme suit:

The following steps are the processes by which Disk Defragmenter and
file system defragment an NTFS volume and update the MFT.

   1. Locate the fragments of each file throughout the disk.
   2. Copy the fragments to contiguous locations on the disk.
   3. Verify that the copy is an exact duplicate of the original file.
   4. Update the MFT in NTFS with the new location of the beginning of
      the file.
   5. Free up the space previously used by the file.

Microsoft - Comment fonctionne le défragmenteur de disque
http://technet.microsoft.com/en-us/library/cc778290(WS.10).aspx
(le texte ci-dessus peut être trouvé sous "Mise à jour de la table de fichiers maîtres")

Essentiellement, les données sont copié dans les nouveaux secteurs, les pointeurs vers les données déplacées sont mis à jour pour indiquer ces nouveaux secteurs, puis les anciens secteurs sont libérés. Ceci est une approche très sûre à utiliser en cas de plantage car dans le pire des cas (comme un crash sur un écran bleu), vous avez deux copies des mêmes données, l'une sur les secteurs non alloués et l'autre sur les secteurs attribués. Du point de vue de la lecture des données, il apparaîtra de la même façon.

En outre, de nombreuses améliorations peuvent être apportées aux techniques de défragmentation de disque utilisées par Microsoft (qui sont déjà plus que suffisantes pour de nombreuses personnes), et une variété de produits alternatifs sont examinés et comparés en détail ici:

Defragger (extrait du glossaire Java de Roedy Green)
http://www.mindprod.com/jgloss/defragger.html


4
2017-08-08 02:09



Excellent comme d'habitude Randolf! - Moab


Contrôlez C pour l'annuler.

Je ne m'attends pas à ce que le gestionnaire de tâches fasse du mal, car il demande d'abord au programme de se fermer avant qu'il ne le force.


6
2017-08-08 01:29



Raison pour laquelle j'ai demandé il y a quelques années j'ai écrasé une installation XP, obligeant Defrag à fermer en utilisant l'interface graphique, il ne répondait pas et donc je l'ai tué dans TM, essayé plusieurs essais mais TM l'a finalement tué. J'étais impatient dans ces années de ma vie. - Moab
Ouais, tuer par TM n'est pas toujours une bonne idée. L'une des leçons les plus difficiles que j'ai apprises du C ++ est que créer un processus est facile. Fermer un processus avec grâce est ce qui sépare les garçons des hommes. - surfasb
C'est la partie de la force brute qui me concerne, c'est pourquoi j'ai demandé s'il y avait une méthode gracieuse. - Moab
@ Moab, utilisez simplement Ctrl + C; il ne tue pas le processus puisque vous pouvez voir qu'il continue après (il détecte la pression sur la touche, interrompt la défragmentation, puis imprime un message). Je me souviens des jours de DOS, il y avait un moyen d'installer un gestionnaire Ctrl + C (j'en utilisais un dans un programme Pascal), donc ce n'est pas surprenant que les applications de la console Windows-7 puissent le faire. - Synetech
@moab: n'utilisez pas de TM. Ou obtenez une copie de mydefrag ce qui vous donne un contrôle encore plus granulaire sur vos défragments. Ne t'inquiète pas. Il utilise les mêmes API que defrag. En y repensant, je ne me souviens plus de la dernière fois que j'ai dû lancer le programme de défragmentation. Il devait être avant Vista. . . - surfasb


Ce fil a beaucoup d'informations utiles pour savoir s'il y a des dangers pour les disques qui défragmentent pendant une panne de courant (bien que n'étant pas identique à votre situation, vous stoppez brusquement le programme - comme l'a gentiment fait remarquer le commentateur suite à une interruption matérielle, une interruption du logiciel ne fera probablement pas de mal.

Il semble que defrag suit avec la journalisation qui se produit pendant l'utilisation normale.


2
2017-08-08 01:32



Je pense que vous voudrez peut-être ajouter quelque chose comme "même si un arrêt brutal ne l'endommagera probablement pas, alors pour un arrêt du logiciel, il ne sera pas possible" - soandos
Bel article mais ne répond pas vraiment à ma question sur la façon de terminer avec élégance. - Moab
@soandos C'est un bon point. En réalité, les deux méthodes arrêtent le logiciel avant qu’il n’ait été possible de le nettoyer. - jonsca
@Moab Je pense que nous affirmons tous les deux que les méthodes conventionnelles de Ctrl-C ou de les tuer du gestionnaire de tâches ne vont rien faire. Il suffit de lancer un chkdsk (ou équivalent) pour vous en assurer. - jonsca
Oui, mais de cette façon, vous répondez plus directement à la question, simplement en ajoutant quelque chose à votre réponse. - soandos