Как установить статическую системную дату для одного пользователя или приложения -"День сурка"
У меня есть приложение поставщика в AIX, которое требует, чтобы системная дата была установлена на произвольное значение для целей тестирования качества. Приложение получает свою дату из системы, и нет возможности изменить ее, чтобы получить дату из параметра. Приложение работает под определенным идентификатором пользователя. Я хотел бы найти способ установить дату для этого приложения или пользователя как частное значение, не затрагивая всех других пользователей и приложений в системе. Пока единственное, что мне удалось сделать, - это выделить LPAR для этого приложения. Каждый день в полночь корневое задание crontab сбрасывает дату в статическое значение. Это работает, но это расточительно ресурсов; и теперь я столкнулся с требованием сделать это для других приложений, которые, конечно, требуют других дат. Есть ли какое-нибудь умное решение для этого? Мне нужен способ создать изолированную среду, в которой для даты, возвращаемой из системы, можно установить частное значение. Как я уже сказал, ОС AIX, и это нельзя изменить для этого приложения.
1 ответ
Вы можете создать системную библиотеку мутантов (какую бы AIX не использовала для dll/so), которая перехватывает системный вызов date и передает все остальное в реальную библиотеку. Я могу придумать несколько способов, которые потерпят неудачу, и еще несколько, почему это не очень хорошая идея, но это может сработать.