进程的PID历史

sti*_*ent 3 linux process pid

我想知道的是在最后2-3 次重新启动之前分配给进程的PID

场景是在此特定进程崩溃后,生成一个日志文件,并将进程的 PID 连接到日志文件的名称。我有 5 个名为hs_err_PIDs 的日志文件。我想确认这些 PID 是否已分配给我所关注的进程,因为我对此并不感到困惑。

有什么办法可以做到吗?

Kha*_*led 6

您可能会发现在系统日志文件信息/var/log/messages/var/log/syslog。某些进程在启动时会将消息打印到系统日志中。例如,squid 打印以下内容:

May  8 00:00:00 proxy squid[7274]: Squid Parent: child process 28819 started
Run Code Online (Sandbox Code Playgroud)

如果您的进程记录了此类信息,您可以知道旧的 PID,如7274

另一种可能性是当您的进程在死亡时导致诸如段错误之类的错误时的情况。你会发现这样的日志:

May  8 00:00:00 proxy kernel: [1075746.767514] squid[24442]: segfault at 20 ip 00000000005bae26 sp 00007fff144918e0 error 4 in squid[400000+264000]
Run Code Online (Sandbox Code Playgroud)

您还可以在这样的日志记录24442 中找到 PID 。

对于以后的情况,如果您以后有兴趣查找此类信息,则需要记录此类信息。