プロセスのリアルタイム認識を変えたいです。
私のシステム/カーネル/ハードウェア時計が考える速度の50%または150%で時間が流れているとプロセスで信じさせます。
プログラムのソースコードにパッチを適用しなくても、どのプログラムでも機能できる一般的なソリューションを見つけたいと思います。
必要なことを達成するためのツールはありますか?
答え1
これはこのfaketime
コマンドが実行するように設計されています。たとえば、
$ time faketime -f '+0 x10' sh -c 'date +%T; sleep 10; date +%T'
13:29:02
13:29:12
faketime -f '+0 x10' sh -c 'date +%T; sleep 10; date +%T' 0.00s user 0.00s system 0% cpu 1.009 total
通常のクロック速度の10倍でシェルを起動します(sleep 10
1秒間休止)。
0.5 や 0,5 などの素数乗数を使用してクロック速度を遅くすることができます (地域によって異なります)。徐々に進む2番目の2本物第二。たとえば、次を参照してください。
faketime -f '+0 x0.5' watch date
実行可能ファイルにコードを注入して動作するため、LD_PRELOAD
静的にリンクされたアプリケーションまたは実行可能ファイル、クリーン環境またはユーザーの名前setuid
空間setgid
でコマンドを実行するアプリケーション、または時間情報を取得したり、スリープモードの場合はlibcシステムコールラッパーを使用しない場合は動作しません。アプリケーション。