簡體   English   中英

Linux 上的核心 kernel 模式 %e 附加 PID

[英]core kernel pattern %e on Linux appends PID

根據核心文檔,kernel 模式中的 %e 代表“進程或線程的通信值”。 此外,核心 comm 值被定義為 /proc/[pid]/comm 返回的任何值。 然而,在我的機器(CentOs)上,盡管 kernel 模式被定義為 core-%e 並且 comm 值僅返回進程名稱,PID 仍然附加到核心名稱。 為什么文檔和實際行為之間存在這種差異?

[root@mde-segment-bouretskey dump]# cat /proc/sys/kernel/core_pattern
/tmp/dump/core-%e
[root@mde-segment-bouretskey dump]# ls /tmp/dump/core-*
/tmp/dump/core-a.out.42098  /tmp/dump/core-a.out.43097
[root@mde-segment-bouretskey dump]#

[root@mde-segment-bouretskey crashtest]# cat /proc/45301/comm
a.out

您需要設置kernel.core_uses_pid=0以避免在缺少%p時附加 pid。

從核心(5):

為了向后兼容,如果 /proc/sys/kernel/core_pattern 不包含 %p 並且 /proc/sys/kernel/core_uses_pid (見下文)非零,則 .PID 將附加到核心文件名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM