2013-03-07 106 views
0

我一直在開發一個應用程序,它將跟蹤辦公室員工的工作歷史。跟蹤/監控系統

因此,我需要跟蹤我的用戶Ubuntu用戶的以下細節。

  • 已打開應用程序。
  • 應用程序正在運行的持續時間。
  • 如果應用程序像VLC那樣的文本編輯器/視頻編解碼器 - 打開了哪些文件並持續了多長時間。
  • 另外我想跟蹤可移動媒體上的文件/文件夾的複製/粘貼歷史記錄。

任何人都可以幫助我建議在C/shell/Perl中的頭文件和函數,這將幫助我跟蹤此?

請注意:爲了保護隱私,我不希望按鍵被監控。

可能這些要求中的一部分無法實現,然而對可能的功能的建議將不勝感激。

+0

我認爲這太寬泛了,這不是一個編程問題。這樣做會涉及相當高的複雜性,除非您可以用各種應用程序自己將這些工作自己組合起來,爲您完成這項工作。 – unwind 2013-03-07 13:43:39

回答

0

看看'proc'的手冊頁。 procfs是安裝在/ proc上的文件系統。在該目錄下,按進程ID爲每個進程提供一個文件夾。您感興趣的將是每個進程的fd文件夾。例如,對於爲5的PID的方法,在FD的文件夾是

/proc/5/fd 

在FD文件夾中包含的符號鏈接的每個文件句柄由進程打開。爲了監聽proc文件系統中的變化(正在啓動的新進程,正在打開的新文件),我建議使用inotify。但是,它對於procfs確實有limitations