请注意,FS 是使用relatime选项安装的(因此未显示最近的上次访问时间)。
有没有办法查看最后一次运行可执行文件(ELF 64 位 LSB 可执行文件)的时间?
使用根访问。这个想法是复杂的生产应用程序可以运行当前存在于两个不同位置的相同 exec(待安装)。我只想确保从现在开始只运行其中一个,而不会中断任何事情(例如,不能暂时删除一个;99% 确定只使用其中一个,但需要 100% 确定)。
请注意,FS 是使用relatime选项安装的(因此未显示最近的上次访问时间)。
有没有办法查看最后一次运行可执行文件(ELF 64 位 LSB 可执行文件)的时间?
使用根访问。这个想法是复杂的生产应用程序可以运行当前存在于两个不同位置的相同 exec(待安装)。我只想确保从现在开始只运行其中一个,而不会中断任何事情(例如,不能暂时删除一个;99% 确定只使用其中一个,但需要 100% 确定)。
据我记得,
relatime
每 24 小时更新一次访问时间,或者如果旧的 atime 早于或等于 mtime。这会让您知道该程序是否已经一整天未使用;或者,如果您不想等待,请运行touch programfile
,然后查看 atime 是否已更改。Plain
touch
会设置 atime == mtime,但如果它是 <= mtime,atime 会更新,所以没关系。您也可以执行类似的操作touch -a -d 1999-12-31
来更改 atime 而无需修改 mtime。像这样:
访问时间戳在程序运行时更新。
当然,如果文件只是被读取,atime 也会改变。像这样读取二进制文件可能并不常见,但例如备份工具可以做到这一点。这将使 atime 对此毫无用处。
但是如果atime没有改变,那么文件既没有被读取也没有被执行,所以它可以用来证明否定的情况。
您可能可以修改程序以使其在使用时记录下来。
将程序移动到一个新位置(例如
/usr/bin/program.real
)并用一个将时间写入文件的简短包装脚本替换它:显然,您可以根据需要添加
+
参数来格式化日期字符串。