Подделка даты / времени дочернего процесса - PullRequest
6 голосов
/ 28 июня 2019

В системах Unix, есть ли способ подделать предполагаемую дату и время дочернего процесса?

Т.е. представьте:

$ date 
Fri Jun 28 10:50:35 CEST 2019

$ with_date 10/05/2019 date
Fri May 10 10:50:36 CEST 2019

Как реализовать команду with_date?

Типичным вариантом использования будет тестирование программного обеспечения, связанного с датой / временем,моделирование различных условий.

1 Ответ

4 голосов
/ 28 июня 2019

Есть библиотека libfaketime .Он использует механизм предварительной загрузки библиотеки для перехвата системных вызовов запускаемых программ.Вариант использования (из руководства):

user @ host> date
Вт 23 ноября 12:01:05 CEST 2016

user @ host> LD_PRELOAD =/usr/local/lib/libfaketime.so.1 FAKETIME = "- 15d" дата
Пн 8 ноября 12:01:12 CEST 2016

user @ host> LD_PRELOAD = / usr / local / lib/libfaketime.so.1 FAKETIME = "- 15d" FAKETIME_DONT_FAKE_MONOTONIC = 1 java -version
Java-версия "1.8.0_111"
Java (TM) SE Runtime Environment (сборка 1.8.0_111-b14) Java HotSpot (TM)) 64-разрядная серверная виртуальная машина (сборка 25.111-b14, смешанный режим)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...