definir seu próprio tempo no linux

definir seu próprio tempo no linux

como definir a hora no Linux dessa maneira:

1 segundo definido como 10 segundos (10 segundos = 1 segundo de tempo próprio)

Quero enganar todos os processos executados lá para usar um tempo 10x mais rápido. então sleep(1)durará 0,1 segundos reais.

como conseguir isso?

Responder1

Você pode executar um comando (incluindo um shell e todos os seus filhos) com uma frequência de clock arbitrária mais rápida usando o warpcomando doast-abertopacote. Ele usa LD_PRELOAD, portanto não funciona com setuid ou setgid ou (agora relativamente raro) programas vinculados estaticamente. Depágina de manual warp:

warp [opções] data [comando [arg...]]

urdiduraexecuta um comando vinculado dinamicamente em um período de tempo diferente, interceptando chamadas de sistema relacionadas ao tempo e modificando os tempos vistos porcomandousando a fórmula:

tempo' = tempo + warp + (tempo - base) * (fator - 1)

ondeurdiduraé data agora,baseé a data por padrão efatoré 1 por padrão.

OPÇÕES

-b, --base = data

Defina a data base ou de início comodata. Útil para repetir um conjunto de testes. O valor padrão é data.

-f, --fator=fator

Defina o relógio distorcido para marcarfatorsegundos por segundo real. O valor padrão é 1.

urdiduraexecutacomandocom argumentos opcionais, ouehsecomandoé omitido. Todos os processos executados porcomandosão distorcidos no mesmo período de tempo. O tempo avança paracomandoe seus filhos a uma taxa defatorvezes o relógio do sistema. Quaisquer arquivos criados porcomandoou seus filhos parecerão mais novos quedataparacomandoe seus filhos, mas na verdade estarão no período normal para comandos não distorcidos.

informação relacionada