LINUX.ORG.RU

Программа подмены времени в процессах.


0

1

Здравствуйте. Имеется процесс, который через каждые 5 минут проверяет время на сервере. Требуется подменить этому процессу время, без смены на всем сервере, при этом данный процесс должен быть запущен.



Последнее исправление: MorzE (всего исправлений: 1)

Если брать наиболее распространенный случай, то процесс обращается через glibc к ядру через функцию time(). Для того, чтобы подменить ему текущее время, придется подменять функцию в glibc, либо переопределять эту функцию в коде самого процесса.

aix27249
()

Можно поинтересоваться именем/командной строкой процесса?

JackYF ★★★★
()

wayback

wayback: Shift system time backwards for a specific application

This programs is userful for time-limited demo versions, of course.

Just set environment variable «WAYBACK» to the number of seconds to shift the system time back. Set «LD_PRELOAD» to the provided libwayback.so and run your demo program.

http://www.jankratochvil.net/project/wayback/

anonymous
()
Ответ на: wayback от anonymous

Немного постараюсь пояснить задачу... Речь о онлайн игре, требуется (например) что бы каждые 2 дня для приложения наступала среда 20:00 вещи типа фейктайм без переделки работать не будут( спасибо.

ledok
()

1. Написать разделяемую библиотеку, в которой переопределить функции возвращающие текущее время

2. Вызывать программу примерно так LD_PRELOAD=/lib/stub/libmytime.so /path/to/program

Минусы - не будет работать, если бинарник слинкован статически.

Nastishka ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.