Linux runasdate 模拟

Ale*_*tov 7 linux date-time

我希望某些用户(或某些进程)具有不同的时间和日期。是否可以?

我怎样才能做到这一点?

qua*_*ote 13

什么RunAsDate所做的是以下情况:

RunAsDate 拦截返回当前日期和时间(GetSystemTime、GetLocalTime、GetSystemTimeAsFileTime)的内核 API 调用,并将当前日期/时间替换为您指定的日期/时间。

在 Linux 下,你有一些选择来完成同样的事情:

  1. 如果您可以获得该程序的 Windows 版本,您或许可以在Wine下运行 RunAsDate (但要注意最近的错误)。

  2. 找到一个包装库来做到这一点,或者自己编写。下面给出了一些选项。

  3. 使用虚拟机。这有点矫枉过正,但由于来宾 VM 中的操作系统与底层主机完全分离,因此您可以将其系统时间设置为完全不同的时间。设置可能比其他选项更快。


选项 2 可以通过不同的方法完成,具体取决于您尝试运行的内容。下面 DaveParillo 的回答链接到DIY 方法,该方法解释了不同的方法并包括可执行文件的代码。其他一些选项包括: