【问题标题】:How to identify which Daemon Process is writing to the file如何识别哪个守护进程正在写入文件
【发布时间】:2012-02-16 22:52:36
【问题描述】:

我需要识别一个定期写入日志文件的守护进程。问题是我不知道哪个进程在做这项工作,我需要在明天之前向客户展示一些进展。有人知道吗?

我已经在 PPID 的帮助下整理出了系统中运行的守护进程。任何帮助将不胜感激。

另外我认为守护进程有可能(很少)没有 PPID 为 1。那么我们如何才能找到它呢?

【问题讨论】:

    标签: unix process operating-system daemon


    【解决方案1】:

    在您的日志文件中尝试fuser 命令,该命令将显示使用它的进程的 PID。

    例子:

    $ fuser file.log
    file.log:  3065
    

    【讨论】:

    • 但这不是只有在进程保持文件打开时才有效吗?如果进程只在写入数据时打开文件怎么办?
    • 如果不知道进程何时写入日志,可以使用watch定期执行fuser。例如watch fuser file.log.
    • 这是可能的,好吧..我会试试的。问题是我没有写权限,所以不能将 watch 的输出重定向到任何文件。让我们看看能做些什么。非常感谢你们。
    • dogbane 的 cmets 很好 - 但 watch 并非在所有 UNIX 实现中都有效。我们在谈论什么确切的操作系统?
    • 如果没有watch,可以在while循环中调用fuser
    【解决方案2】:

    lsof 给出了一个带有进程的打开文件列表。 所以lsof | grep <filename> 应该可以帮到你。

    【讨论】:

    • 显然 lsof 在我的客户安装的系统中不可用。 Solaris 8。
    【解决方案3】:

    您可以使用 auditctl。

    # sudo apt-get install auditd
    # sudo /sbin/auditctl -w /path/to/file  -p war -k hosts-file
    -w watch /etc/hosts
    -p warx watch for write, attribute change, execute or read events
    -k hosts-file is a search key.
    # sudo /sbin/ausearch -f /path/to/file | more
    

    给出诸如

    之类的输出

    type=UNKNOWN[1327] msg=audit(1459766547.822:130): proctitle=2F7573722F7362696E2F61706163686532002D6B007374617274 type=PATH msg=audit(1459766547.822:130): item=0 name="/path/to/file" inode=141561 dev=08:00 mode=0100444 ouid=33 ogid=33 rdev=00:00 nametype=NORMAL 类型=CWD 消息=审计(1459766547.822:130):cwd="/" type=SYSCALL msg=audit(1459766547.822:130): arch=c000003e syscall=2 成功=yes exit=41 a0=7f3c23034cd0 a1=80000 a2=1b6 a3=8 items=1 ppid=24452 pid=6797 auid=42949672 95 uid=33 gid=33 euid=33 suid=33 fsuid=33 egid=33 sgid=33 fsgid=33 tty=(无) ses=4294967295 comm="apache2" exe="/usr/sbin/apache2" key= “主机文件”

    【讨论】:

    • sudo /sbin/auditctl -D 如果关闭则关闭。
    • 就是这个!显然,lsoffuser 如果文件是在很短的时间内写入的,那么即使在 while 循环中打开文件也需要很长时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-25
    • 2011-06-25
    • 2023-03-26
    • 1970-01-01
    • 2015-09-07
    • 2011-09-30
    • 2011-07-20
    相关资源
    最近更新 更多