linux下获取父进程名需先用getppid()获ppid,再读/proc/[ppid]/comm(仅命令名)或/proc/[ppid]/cmdline(含参数,需解析 分隔),注意父进程须存活且有读权限。

Linux下用/proc/getppid()读取父进程名
Linux没有直接API返回父进程名称,得靠/proc/[pid]/comm或/proc/[pid]/cmdline文件。当前进程的父进程ID可用getppid()拿到,再拼出路径:/proc/1234/comm(其中1234是getppid()返回值)。/proc/[pid]/comm只存命令名(不含路径、参数),长度上限16字节,截断不报错。
实操注意点:
-
/proc/[pid]/comm需确保父进程仍在运行,否则读取会失败(errno == ENOENT) - 若要获取完整命令行(含参数),改读
/proc/[pid]/cmdline,但字段用
