
cómo configurar la hora en Linux de esa manera:
1 segundo se define como 10 segundos (10 segundos = 1 segundo de tiempo propio)
Quiero engañar a todos los procesos que se ejecutan allí para utilizar un tiempo 10 veces más rápido. por lo que sleep(1)
durará 0,1 segundos reales.
¿cómo lograrlo?
Respuesta1
Puede ejecutar un comando (incluido un shell y todos sus hijos) con una frecuencia de reloj arbitraria más rápida utilizando el warp
comando delabiertopaquete. Utiliza LD_PRELOAD, por lo que no funcionará con setuid o setgid o (ahora relativamente raro) programas vinculados estáticamente. Desde elpágina de manual de deformación:
warp [opciones] fecha [comando [arg...]]
deformaciónejecuta un comando vinculado dinámicamente en un marco de tiempo diferente interceptando llamadas al sistema relacionadas con el tiempo y modificando los tiempos vistos pordominiousando la fórmula:
tiempo' = tiempo + deformación + (tiempo - base) * (factor - 1)
dóndedeformaciónes fecha-ahora,basees la fecha por defecto, yfactores 1 por defecto.
OPCIONES
-b, --base=fecha
Establezca la fecha base o de inicio enfecha. Útil para repetir una serie de pruebas. El valor predeterminado es la fecha.
-f, --factor=factor
Configure el reloj deformado para que marque a lasfactorsegundos por segundo real. El valor predeterminado es 1.
deformaciónejecutadominiocon argumentos opcionales, oshsidominiose omite. Todos los procesos ejecutados pordominioestán deformados en el mismo período de tiempo. El tiempo avanza paradominioy sus hijos a un ritmo defactorveces el reloj del sistema. Cualquier archivo creado pordominioo sus hijos aparecerán más nuevos quefechaadominioy sus hijos, pero en realidad estará en el plazo normal para los comandos no deformados.