サーバーの日付とタイムスタンプを変更する必要がある要件があります。よく必要な値と関連プロセス(Weblogicサーバー/Java仮想マシンのプロセスとスクリプト)は、日付と時刻を更新する必要があります。これは、プロセスを再起動せずにweblogicサーバーとスクリプトが更新された日付で実行されるように実行されます。
可能なタイムスタンプ変更子は次のとおりです。libfaketimeただし、すべてのプロセスまたはPIDセットのオフセットで時間を変更するために何でも実行できます。
目標は、プロセスが実行された日付がPIDを終了せずにオフセット(日数)だけ変更されたときにプロセスを実行することです。日付を手動で変更してプロセスを終了するよりも、ユーティリティが時間がかかりにくい場合は問題ありません。
答え1
サーバーの日付とタイムスタンプを毎日変更する必要があるという要件があります。
これはあいまいです(そして非常に悪いシステムを乱用しているのでデザインしてください)。どれくらい実用的か文書変更されたメタデータが必要ですか?どのファイルシステムから?ディレクトリに関連しています/proc/1234/
(プロセスのPIDが1234の場合)?バラより工程(5)。
(サーバーが読み取り専用ファイルシステム(CDROMなど)にある場合はどうなりますか?)
ところで、「更新プロセス」が何を意味するのかを定義していません。想像力が豊富であっても、あなたが望むものが何であるかを推測することはできません。
返品、これはなぜ必要ですか?なぜ何かを変えることができないのですか?その他日時スタンプ(一部データファイルまたはデータベースの行)を確認して確認しますか? 「サーバー実行可能ファイル」がこれを許可しない奇妙なファイルシステムにある場合、または有効なmtimeがない場合はどうすれば検出できますか?ちょっとそうです。XYの問題。
目標は、日付が実行されているプロセスのオフセット(日数)を変更しながらプロセスを実行することです。
次に、POSIX API全体、少なくともすべてのシステムリスト呼び出しへのアクセスを提供する「シェル型」プロセス(Cまたは他の言語 - Go、Ocaml、Rust、C ++、Pythonなど)を作成します。システムコール(2)、また見ることができますはじめに(2)少なくとも、Unixプログラミングの本を読んでください。アルカリ性ホスファターゼまたはより若いもの)。この「シェルのような」は実際のサーバーを監視して終了します。
さらに、ほとんどのJava実装は、これらすべてのJavaプロセスが実行されるという意味でJVMによって解釈されます。同じJVM実行可能ファイル、おそらく一部/usr/bin/java