0

linux下可以对不同进程设置不同时区和时间吗?
我要用于测试
譬如定时任务开启每天做一次
那么我对进程设置时区,使得其认为现在是明天或者后天等等

esolve 806
2019-03-07 提问
1 个回答
1

不能, 内核中时间是进程无关的.

系统时区(/etc/localtime)就别考虑了...

要完成你的功能,我建议还是自己用文件记下要设置时区, 程序中自己换算吧


其实这么说也不准确, 我的意思是, 内核不会在每个进程上记录它使用的时间标准. 实际上所有进程(无论是host还是container中的进程) 获取时间都是获得的 从1970.1.1到现在的秒数.但是如何解释这个秒数就可以操作了, 借助于/etc/localtime 这个链接的真实的时区文件,就可以将这个秒数解释为所属时区文件.所以只要两个进程看到的这个时区文件不同,那就可以将一个秒数解释为不同的时间.

所以,用容器是可以的,因为他们所看到自己的/etc/localtime 可以指向不同的文件.

参考:
tzset

撰写答案

推广链接