0

我一直在开发一个应用程序,它将跟踪办公室员工的工作历史。

因此,我需要跟踪我的用户 Ubuntu 用户的以下详细信息。

  • 应用程序打开。
  • 应用程序运行的持续时间。
  • 如果应用程序类似于 VLC 之类的文本编辑器/视频编解码器 - 打开了哪些文件以及持续了多长时间。
  • 我还想跟踪可移动媒体上文件/文件夹的复制/粘贴历史记录。

谁能帮我建议 C/shell/Perl 中的头文件和函数,这将帮助我跟踪这个?

请注意:为了隐私,我不希望对击键进行监控。

可能无法满足其中一些要求,但我们将不胜感激有关可能功能的建议。

4

1 回答 1

0

查看“proc”的手册页。procfs 是安装在 /proc 上的文件系统。在该目录下是每个进程的文件夹,按进程 ID。您感兴趣的是每个进程的 fd 文件夹。例如,对于 PID 为 5 的进程,fd 文件夹为

/proc/5/fd

fd 文件夹包含进程打开的每个文件句柄的符号链接。要侦听 proc 文件系统上的更改(正在启动的新进程,正在打开的新文件),我建议使用 inotify。但是,它确实有关于 procfs的限制。

于 2013-03-09T04:05:23.510 回答