【发布时间】:2020-08-16 21:19:40
【问题描述】:
当我运行一个进程和 argv[0] 的内容时,这也会改变 /proc//cmdline 的内容。现在我检查了 fs/proc/cmdline.c 中的内核代码,那里的 cmdline_proc_show 函数似乎从全局 saved_command_line 变量中获取了它的内容。但是我没有找到 saved_command_line 与 argv 数组的关系。有人知道吗?
【问题讨论】:
当我运行一个进程和 argv[0] 的内容时,这也会改变 /proc//cmdline 的内容。现在我检查了 fs/proc/cmdline.c 中的内核代码,那里的 cmdline_proc_show 函数似乎从全局 saved_command_line 变量中获取了它的内容。但是我没有找到 saved_command_line 与 argv 数组的关系。有人知道吗?
【问题讨论】:
文件/proc/cmdline 与内核命令行和来自boot_params 的信息相关。
对于用户进程,子目录中有cmdline 文件,以进程ID /proc/<pid>/cmdline 命名;外壳示例:cat /proc/$$/cmdline。一系列结构指针导致进程命令行参数;详情见proc_pid_cmdline_read()
注意:版本之间的某些符号可能不同
【讨论】: