Time

在linux中定義自己的時間

  • June 27, 2014

如何以這種方式在linux中設置時間:

1 秒定義為 10 秒(10 秒 = 1 秒自己的時間)

我希望愚弄那裡執行的所有程序以使用快 10 倍的時間。所以sleep(1)將持續 0.1 真實秒。

如何實現呢?

您可以使用ast-open包中的warp命令以任意更快的時鐘頻率執行命令(包括 shell 及其所有子級) 。它使用 LD_PRELOAD,因此不適用於 setuid 或 setgid 或(現在比較少見的)靜態連結程序。從經編手冊頁

$$ options $$日期$$ command [ arg … $$] warp通過攔截時間相關的系統呼叫並使用公式修改命令看到的時間,在不同的時間範圍內執行動態連結的命令:

time’ = time + warp + (time - base) * (factor - 1)

其中,warp是 date-now,base預設是 date,factor預設是 1。

選項

-b,–base=日期

> > 將基准或開始日期設置為date。對於重複一組測試很有用。預設值為日期。 > > >

-f,–因子=因子

> > 將扭曲的時鐘設置為每真實秒的因子秒。預設值為 1。 > > >

warp執行帶有可選參數的命令,如果命令被省略,則執行**sh 。命令執行的所有程序都在同一時間範圍內扭曲。命令及其子項的時間以系統時鐘的因數倍數增長。**由command或其子項創建的任何文件都將比命令及其子項的日期更新,但實際上將在非扭曲命令的正常時間範圍內*。*

引用自:https://unix.stackexchange.com/questions/136954