Logging 在FreeBSD中监视进程创建

Logging 在FreeBSD中监视进程创建,logging,process,freebsd,process-accounting,Logging,Process,Freebsd,Process Accounting,我希望监视FreeBSD系统上执行的所有命令。我已经看过了lastcomm,它在BSD中使用流程会计工具。不幸的是,它只存储执行的每个命令的前十个字符。理想情况下,我需要整个命令,包括CLI参数 此外,出于我不想进入的原因,我正在这里使用FreeBSD 4.x系统,因此我认为我将无法访问“auditd”或类似的设施 /proc拥有我需要的所有信息,但我无法找到一个好方法来监视procfs以创建和删除新节点 编辑:谢谢你的输入。不幸的是,dtrace不是一个选项,正如我提到的,这些是FreeBSD

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

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

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


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

如果创建了新流程,检查
/proc
的修改时间是否发生变化


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

  • 调用
    kvm\u getprocs
    (使用
    KERN\u PROC\u PROC
    op
    参数)以获取有关所有正在运行的进程的信息
  • 跳过所有你已经知道的PID
  • 将所有新的PID添加到PID的列表或数组中。使用新流程中需要的任何信息
  • 清除列表中已结束的所有进程

探索该设施。我认为,它具有您所需的功能,尽管您应该知道,记录您希望记录的所有内容可能会使您的系统慢很多。

您只需要记录所有执行的命令吗?或者你还需要查看所有进程?@hari我需要执行所有命令。例如,一个进程可能会启动一些其他进程(例如perl或bash脚本)。我也需要一份日志。