如何计算文件在 linux 上执行的次数

How to count number of times a file was executed on linux

我有一个可执行文件,我想知道它被执行了多少次。该文件位于网络文件系统上。有没有办法通过使用 Linux 实用程序之一的脚本来执行此操作?我的限制是我想避免更改文件本身。例如,我不会添加一个带有可执行脚本更新的计数器的文件。而且我不会让可执行脚本调用一些 API 来增加计数器,例如数据库。

我不知道如何查看文件的执行情况,但是您可以通过 inotify 观察打开文件的次数来构造一些东西:

你可以有这样的脚本:

#! /bin/bash

EXEC_CNT=0
FILE_TO_WATCH=/path/to/your/file
while inotifywait -e open "$FILE_TO_WATCH" 
do 
   ((EXEC_CNT++))
   echo "$FILE_TO_WATCH opened $EXEC_CNT times" 
   # Or to store in a file:
   # echo "$FILE_TO_WATCH opened $EXEC_CNT times" >> "$FILE_TO_WATCH.log"
done

如果是网络共享,此脚本必须在共享其文件系统的计算机上运行。