跟踪/监控系统
问题描述:
我一直在开发一个应用程序,它将跟踪办公室员工的工作历史。跟踪/监控系统
因此,我需要跟踪我的用户Ubuntu用户的以下细节。
- 已打开应用程序。
- 应用程序正在运行的持续时间。
- 如果应用程序像VLC那样的文本编辑器/视频编解码器 - 打开了哪些文件并持续了多长时间。
- 另外我想跟踪可移动媒体上的文件/文件夹的复制/粘贴历史记录。
任何人都可以帮助我建议在C/shell/Perl中的头文件和函数,这将帮助我跟踪此?
请注意:为了保护隐私,我不希望按键被监控。
可能这些要求中的一部分无法实现,然而对可能的功能的建议将不胜感激。
答
看看'proc'的手册页。 procfs是安装在/ proc上的文件系统。在该目录下,按进程ID为每个进程提供一个文件夹。您感兴趣的将是每个进程的fd文件夹。例如,对于为5的PID的方法,在FD的文件夹是
/proc/5/fd
在FD文件夹中包含的符号链接的每个文件句柄由进程打开。为了监听proc文件系统中的变化(正在启动的新进程,正在打开的新文件),我建议使用inotify。但是,它对于procfs确实有limitations。
我认为这太宽泛了,这不是一个编程问题。这样做会涉及相当高的复杂性,除非您可以用各种应用程序自己将这些工作自己组合起来,为您完成这项工作。 – unwind 2013-03-07 13:43:39