Pregunta Graciosamente matar defrag.exe cuando se ejecuta en el símbolo del sistema


Cuando ejecuto defrag en el símbolo del sistema, ¿hay alguna forma de detener el proceso antes de que finalice?

¿Matar la tarea en TM causa algún problema si está en medio de mover un archivo?

Windows 7 Pro 64bit


4


origen




Respuestas:


En teoría, debería ser seguro finalizar el programa (en su caso, puede usar CTRL-C) porque se hace un esfuerzo en el diseño de la aplicación Desfragmentador de disco de Microsoft para evitar la pérdida de datos en caso de una interrupción inesperada. Esto está documentado en el sitio web de Microsoft de la siguiente manera:

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 - Cómo funciona el Desfragmentador de disco
http://technet.microsoft.com/en-us/library/cc778290(WS.10).aspx
(el texto anterior se puede encontrar debajo de "Actualización de la tabla maestra de archivos")

Esencialmente, los datos son copiado a nuevos sectores, los indicadores de los datos que se movieron se actualizan para señalar estos nuevos sectores, y luego se liberan los sectores antiguos como resultado. Este es un enfoque muy seguro para usar en caso de que se produzca un bloqueo porque en el peor de los casos (como un choque en una pantalla azul) tendría dos copias de los mismos datos, uno en sectores no asignados y el otro en los sectores asignados. Desde la perspectiva de leer los datos, parecerá lo mismo de cualquier manera.

Además, se pueden realizar muchas mejoras en las técnicas de Desfragmentación de disco que utiliza Microsoft (que ya son más que adecuadas para muchas personas), y aquí se examinan y comparan con gran detalle una variedad de productos alternativos:

Defragger (del Glosario de Java de Roedy Green)
http://www.mindprod.com/jgloss/defragger.html


4



Excelente como de costumbre Randolf! - Moab


Controla C para cancelarlo.

No espero que el administrador de tareas haga ningún daño, ya que primero le pide al programa que cierre antes de que lo ataque el bruto.


6



La razón por la que pregunté es hace unos años que destruí una instalación de XP, forzando el desfragmentación para que se cerrara con la interfaz gráfica de usuario, no respondía, así que lo maté en TM, intenté varios intentos pero TM finalmente lo mató, al reiniciarlo se lo apaleó. Estaba impaciente en esos años de mi vida. - Moab
Sí, matar por TM no siempre es una buena idea. Una de las lecciones más difíciles que aprendí de C ++ es que crear un proceso es fácil. Cerrar un proceso con gracia es lo que separa a los niños de los hombres. - surfasb
Es la parte de la fuerza bruta que me preocupa, es por eso que pregunté si había un método elegante. - Moab
@Moab, solo use Ctrl + C; no mata el proceso ya que puede ver que continúa después (detecta la pulsación de tecla, cancela la desfragmentación y luego imprime un mensaje). Recuerdo que en los días de DOS, había una forma de instalar un controlador Ctrl + C (yo usé uno en un programa Pascal), así que no es sorprendente que las aplicaciones de consola de Windows 7 puedan hacerlo. - Synetech
@moab: no use TM. O consiga una copia de mydefrag que le da un control aún más granular sobre sus defrags. No te preocupes Utiliza las mismas API que defrag. Ahora que lo pienso, no puedo recordar la última vez que tuve que iniciar el programa de desfragmentación. Tenía que ser antes de Vista. . . - surfasb


Este hilo tiene mucha información útil sobre si hay peligros para los discos que se desfragmentan durante la falla de energía (aunque no es idéntico a su situación, todavía estaría interrumpiendo abruptamente el programa, como el comentarista amablemente señaló, si el sistema puede recuperarse) de una interrupción de hardware, una interrupción de software probablemente no duele).

Parece como si defrag está siguiendo con el diario que ocurre durante el uso normal.


2



Creo que es posible que desee agregar algo como "si incluso un apagado fuerte probablemente no lo dañará, entonces para un apagado de software no lo hará" - soandos
Buen artículo, pero realmente no responde mi pregunta sobre cómo terminar elegantemente. - Moab
@soandos Ese es un buen punto. En realidad, ambas formas detienen el software antes de que tenga la oportunidad de limpiarlo. - jonsca
@Moab Creo que los dos estamos diciendo que los métodos convencionales de Ctrl-C o matarlos del administrador de tareas no van a doler nada. Solo ejecuta un chkdsk (o equivalente) para asegurarse. - jonsca
Sí, pero de esta manera usted responde más directamente a la pregunta, algo que tal vez quiera agregar a su respuesta. - soandos