这可能是也可能不是正确的方法,但我要求它的可行性:
我们有一个演示服务器,我们会不时更新它,以保持统计计算最新。我们必须这样做的唯一原因是一些计算/统计数据仅在过去 X 天内显示。
有人问我当使用 UNIX 时间戳进行调用时是否可以停止 CentOS 上的系统时钟。如果时间暂停,每天的计算都会相同,我们将不再需要用新数据刷新数据库。
可能还有其他方法(用最近的时间戳更新当前数据的脚本等),但这个请求引起了我的兴趣,我很好奇是否可能。
答案1
答案2
有一个非常简洁的工具,warp
它可以以任意方式调整给定进程的时间 - 例如移动甚至缩放! - 而全局系统时间不受影响。时间调整公式为时间=时间+扭曲+(时间-基准)*(因子-1)。详细信息描述于扭曲联机帮助页。它使用的方法是利用DLL预加载功能从系统截取所有时间信息,从技术上讲,为了能够链接到时间函数调用,它需要动态链接的程序。如果满足该前提条件,您可以通过调用透明地使用它,而无需更改可执行文件warp ... program ...
(其中第一个是调整后续时间显示方式的...
参数)。warp
program
答案3
您满意的 hacky 解决方案是这样的(作为 root):
export NOW=$(date); watch -n1 date --set=\"$NOW\"
但这可能不是一个好主意:)