我可以记录linux进程退出信息吗?

时间:2019-02-19 10:25:17

标签: linux

在我的系统上,某些进程总是退出,现在我不知道它们是自己退出还是有人杀死他们。

我可以记录Linux进程退出信息吗?

例如,如果我有一个进程被另一个进程杀死,我可以在诸如xx pid killed yy pid之类的日志中看到一个终止记录,或者如果我的进程退出,则可以看到XX PID exit by self

1 个答案:

答案 0 :(得分:0)

Linux具有进程记帐功能-acct(5)

例如,如果使用accton命令将其打开,则Linux将在每次退出进程时将一些进程信息记录到文件中。该信息确实在ac_flags字段中记录了信号死亡(尽管这不能区分引起deatH的信号),并且看起来您可以从中获取完整的退出信息(从wait(2)开始) ac_exitcode字段。不幸的是,发运的dump-acct命令没有显示它,但是我想如果您从C解析文件,则可以显示它。

除此功能外,在基本的UNIX POSIX系统中,只有进程的父级才能获取其子级的退出信息(ptrace也是,但是基于ptrace的跟踪器的行为类似于第二个父级)