程序打开和关闭时间的日志

程序打开和关闭时间的日志

我想获取程序每天运行个人日志记录的总时间(从开始到关闭,即使它在后台)。例如:火狐浏览器。

  • 是否有系统日志可以跟踪打开和关闭时间?
  • 是否有可以使用的预构建实用程序?

如果没有的话,有一些编写脚本的建议吗?

答案1

会计实用程序 (例如 GNU 的实现)跟踪用户活动并提供多种工具来报告用户活动;例如,

lastcomm

将列出最后执行的命令,并且

sa

(运行为root)将提供活动摘要。

要显示给定进程运行的时间量,请执行以下操作

sudo sa | grep chromium

这将输出许多值:

   5    6781.67re       3.78cp         0avio    265418k   chromium
   4    4521.35re       0.00cp         0avio    176024k   chromium*

第一列是给定进程运行的次数,第二列是进程总共运行的分钟数(可能是同时运行的)。以结尾的行*总结了未执行另一个二进制文件而分叉的进程。由于浏览器倾向于同时执行多个进程,因此带星号的实例代表使用的额外进程;在这种情况下,您可以通过减去这些值来了解实际花费的时间。

这些值是针对所有用户进行汇总的,因此只有当您是系统上的唯一用户时,它们才真正可用于您的目的。

答案2

我最终使用以下脚本来启动程序,并将其替换为指向应用程序的默认指针。

#!/bin/bash
echo -n "$(date +%s)" >> ~/myapplog.log
/application_path/
echo ",$(date +%s)" >> ~/myapplog.log

它基本上以每个会话的时间戳形式记录应用程序的启动和停止时间,并在新行中以逗号分隔。例如:1452663495,1452663502

您可以将 (date +%S) 更改为您喜欢的格式(有关日期,请参阅手册页)

相关内容