我希望监视在FreeBSD系统上执行的所有命令。我已经查看了在BSD中使用进程记帐功能的lastcomm。不幸的是,它只存储每个执行命令的前十个字符。理想情况下,我希望整个命令包括CLI参数。
另外,由于我不想进入的原因,我在这里开发FreeBSD 4.x系统,所以我不认为我可以访问“auditd”或这样的设施。
/ proc包含我需要的所有信息,但我无法找到监控procfs以创建和删除新节点的好方法。
编辑:感谢您的输入。不幸的是dtrace不是一个选项,因为我提到这些是FreeBSD 4.x系统。接下来 - 我确实看了/ proc中的修改时间。只是kqueue没有具体说明修改了哪个文件。
答案 0 :(得分:1)
检查创建新进程时/proc
的修改时间是否会发生变化?
或者,运行循环执行以下操作。您需要一个列表或数组来存储PID。
kvm_getprocs
(使用op
KERN_PROC_PROC
参数)获取有关所有正在运行的流程的信息。答案 1 :(得分:1)
探索dtrace设施。我认为,它具有您需要的功能,但您应该知道,记录您希望记录的所有内容可能会使系统速度降低很多。