Існує бібліотека під назвою libfaketime
(також на GitHub ), яка дозволяє зробити систему звітом заданий час для вашої програми. Ви можете або мати звіт системи за фіксований час протягом тривалості виконання програми, або запустити годинник у певний певний час (наприклад, 01:59:30). По суті, ви підключаєте бібліотеку факсимільного часу до образу пам'яті вашої програми через завантажувач бібліотеки, і вона фіксує та обробляє по-своєму всі системні виклики, які стосуються системного часу. Він точно не змінює системний час, але він змінює час, про який повідомляється у вашій конкретній програмі, не зачіпаючи нічого іншого, що працює, що, ймовірно, є тим, що ви насправді шукаєте (інакше я не бачу причин не просто змінювати глобальний системний час).
Існує ряд можливих варіантів того, як його використовувати, але схоже на те, що зміна часу, який вважає процес з libfaketime, має досить ретельний перелік разом із зразковим кодом для їх випробування. Google також повинен мати можливість виявити деякі приклади, враховуючи, що ви знаєте, що шукати.
Здавалося б, він недоступний заздалегідь упакований через сховища RHEL, але, наприклад, Debian надає його під назвою пакетаfaketime
. Він також виглядає прямо вперед, щоб створити з вихідного коду (він, мабуть, навіть не потребує configure
кроку чи нічого подібного).