0

我正在寻找监视在 FreeBSD 系统上执行的所有命令。我已经看过 lastcomm 了,它在 BSD 中使用了进程记帐工具。不幸的是,它只存储每个执行命令的前十个字符。理想情况下,我希望整个命令包括 CLI 参数。

另外,由于我不想进入的原因,我正在这里使用 FreeBSD 4.x 系统,所以我认为我无法访问“auditd”或此类设施。

/proc 拥有我需要的所有信息,但我无法找到一种监控 procfs 以创建和删除新节点的好方法。

编辑:感谢您的输入。不幸的是,dtrace 不是一个选项,因为我提到这些是 FreeBSD 4.x 系统。接下来 - 我确实查看了 /proc 中的修改时间。只是kqueue并没有具体说明修改了什么文件。

4

2 回答 2

1

探索dtrace工具。我认为,它具有您需要的功能,尽管您应该知道,记录您希望记录的所有内容可能会大大降低您的系统速度。

于 2013-08-05T17:32:04.673 回答
1

/proc如果创建了新进程,检查是否更改了修改时间?


或者,运行一个循环执行以下操作。您需要一个列表或数组来存储 PID。

  • 调用kvm_getprocs(使用 的op参数KERN_PROC_PROC)以获取有关所有正在运行的进程的信息。
  • 跳过您已经知道的所有 PID。
  • 将所有新 PID 添加到 PID 列表或数组中。使用新流程所需的任何信息。
  • 从您的列表中清除所有已结束的进程。
于 2013-03-13T00:11:23.627 回答