所以它在核心文件中有任何与进程 ID 相关的信息
确实。
在core文件中,有一组 ELF 笔记。您要查找的便笺类型为NT_PRPSINFO,其中包含pr_pid您想要的(除其他外):
typedef struct prpsinfo { /* Information about process */
unsigned char pr_state; /* Numeric process state */
char pr_sname; /* Char for pr_state */
unsigned char pr_zomb; /* Zombie */
signed char pr_nice; /* Nice val */
unsigned long pr_flag; /* Flags */
uint32_t pr_uid; /* User ID */
uint32_t pr_gid; /* Group ID */
pid_t pr_pid; /* Process ID */
pid_t pr_ppid; /* Parent's process ID */
pid_t pr_pgrp; /* Group ID */
pid_t pr_sid; /* Session ID */
char pr_fname[16]; /* Filename of executable */
char pr_psargs[80]; /* Initial part of arg list */
} prpsinfo;
Run Code Online (Sandbox Code Playgroud)
问题是:哪些工具可以找到并解码此笔记。eu-readelf从elfutils尝试。