Linuxで独自の時間を定義する

Linuxで独自の時間を定義する

Linuxで時間を設定するには:

1秒は10秒と定義されます。 (10秒=自分の時間1秒)

私はそこで実行されているすべてのプロセスをだまして10倍速い時間を使いたいと思います。これはsleep(1)0.1秒間続きます。

達成する方法?

答え1

warp以下を使用して、より高速なクロック周波数でコマンド(シェルとすべてのサブコマンドを含む)を実行できます。全開パック。 LD_PRELOADを使用しているため、setuidやsetgid、または(最近は比較的まれですが)静的リンカーと一緒に使用することはできません。 ~からねじれたマニュアルページ:

warp [オプション]日付[コマンド[引数...]]

~経由時間関連のシステムコールを傍受し、表示される時間を変更して、さまざまな時間範囲で動的にリンクされたコマンドを実行します。注文する方式を使用して下さい:

時間' = 時間+ワープ+(時間 - 基本)*(係数 - 1)

どこ~経由現在の日付で、~によると現在までのデフォルト値と要因デフォルトは 1 です。

オプション

-b, --base=日付

デフォルトまたは開始日を次に設定します。日付。一連のテストを繰り返すのに便利です。デフォルトは日付です。

-f, --factor=引数

ワープ時計をティックに設定要因秒/実際の秒。デフォルトは 1 です。

~経由実装する注文するオプションのパラメータを使用するか、シェンもし注文する省略しています。すべてのプロセス実行者注文する同じ時間帯内で歪んだ。時間は次に進みます。注文するその子孫の割合は要因システム時計の時間です。次によって生成されたすべてのファイル注文するまたは、その子が次のように表示されます。日付到着注文するそしてその子は、実際にはねじれていないコマンドの通常の時間範囲内にあります。

関連情報