実行ファイルが最後に実行された時刻を表示できますか?

実行ファイルが最後に実行された時刻を表示できますか?

FSが使用されることに注意してください。関係時間オプションを選択してください(したがって、最後の最後のアクセス時間は表示されません)。

実行ファイル(ELF 64ビットLSB実行ファイル)が最後に実行された時刻を確認する方法はありますか?

root アクセスを使用します。アイデアは、複雑な本番アプリケーションが現在2つの異なる場所(インストール予定)にある同じランチャーを実行できることです。私は今から何も壊れず、そのうちの1つだけを実行したいと思います(例:一時的に1つを削除することはできません。99%はそのうちの1つだけを使用しますが、100%確実でなければなりません)。

ベストアンサー1

私が覚えている限り、relatimeアクセス時間は24時間ごとに更新されるか、以前のatimeがmtimeよりも速いか等しい場合に更新されます。その後、プログラムが一日中使用されていないかどうかをtouch programfile確認できます。

Plain はtouchatime == mtime を設定しますが、atime <= mtime の場合は更新されるので問題ありません。touch -a -d 1999-12-31mtimeを変更せずに同様の操作を実行してatimeを変更することもできます。

このように:

$ cp /bin/ls .
$ touch ./ls
$ stat ./ls
...
Access: 2022-01-07 13:07:16.640132600 +0200
Modify: 2022-01-07 13:07:16.640132600 +0200
Change: 2022-01-07 13:07:16.640132600 +0200
 Birth: -
$ ./ls > /dev/null
$ stat ./ls
...
Access: 2022-01-07 13:07:57.175525517 +0200
Modify: 2022-01-07 13:07:16.640132600 +0200
Change: 2022-01-07 13:07:16.640132600 +0200
 Birth: -

プログラムの実行中にアクセスタイムスタンプが更新されます。

もちろんファイル読む。このようなバイナリファイルを読むことは一般的ではないかもしれませんが、例えばバックアップツールを使用することで可能です。これにより、この目的にatimeが役に立たなくなります。

ただし、atimeが変更されていない場合は、ファイルを読み取ったり実行したりしないため、その逆を証明するために使用できます。

おすすめ記事