프로세스에 대한 실시간 인식 변경

프로세스에 대한 실시간 인식 변경

프로세스에 대한 실시간 인식을 바꾸고 싶습니다.

내 시스템/커널/하드웨어 시계가 생각하는 속도의 50% 또는 150%로 시간이 흐르고 있다고 프로세스에서 믿게 만듭니다.

프로그램의 소스코드를 패치하지 않고도 어떤 프로그램에서나 작동할 수 있는 일반적인 솔루션을 찾고 싶습니다.

필요한 것을 달성할 수 있는 도구가 있습니까?

답변1

이것이 이 faketime명령이 수행하도록 설계된 것입니다. 예를 들어:

$ time faketime -f '+0 x10' sh -c 'date +%T; sleep 10; date +%T'
13:29:02
13:29:12
faketime -f '+0 x10' sh -c 'date +%T; sleep 10; date +%T'  0.00s user 0.00s system 0% cpu 1.009 total

정상 클럭 속도의 10배로 셸을 시작합니다( sleep 101초 동안 휴면).

0.5 또는 0,5와 같은 소수 승수를 사용하여 클럭 속도를 늦출 수 있습니다(지역에 따라 다름).서서히 나아가는두 번째 2진짜두번째. 예를 들면 다음을 참조하세요.

faketime -f '+0 x0.5' watch date

실행 파일에 코드를 주입하여 작동하므로 LD_PRELOAD정적으로 링크된 애플리케이션이나 setuid/ setgid실행 파일, 클린 환경이나 사용자 네임스페이스에서 명령을 실행하는 애플리케이션, 또는 시간 정보를 가져오거나 절전 모드인 경우 libc 시스템 호출 래퍼를 사용하지 않는 경우에는 작동하지 않습니다. 애플리케이션.

관련 정보