Magicloud Asked: 2018-10-08 15:01:12 +0800 CST2018-10-08 15:01:12 +0800 CST 2018-10-08 15:01:12 +0800 CST Linux内核参数是用空格(0x20)还是NUL(0x0)分隔? 772 我以为是NUL。但是今天写剧本的时候,发现是空间。是否可配置?还是只是我记错了? linux-kernel kernel-parameters 3 个回答 Voted Best Answer WoBra 2019-10-15T09:20:42+08:002019-10-15T09:20:42+08:00 也许这导致你记忆中的混乱: 在/proc/cmdline(即内核本身的命令行参数)中,参数由 0x20 分隔。 在/proc/some_process_id/cmdline(即,单个用户进程的命令行参数)中,参数由 0x00 分隔。 Joseph Sible-Reinstate Monica 2018-10-08T17:18:24+08:002018-10-08T17:18:24+08:00 假设您正在谈论它们在 中的显示方式/proc/cmdline,则它们由空格分隔。它不可配置。 Mikhail 2018-10-12T14:21:09+08:002018-10-12T14:21:09+08:00 你可以在这里看到解析函数: https ://elixir.bootlin.com/linux/v4.18.13/source/lib/cmdline.c#L199 /* * Parse a string to get a param value pair. * You can use " around spaces, but can't escape ". * Hyphens and underscores equivalent in parameter names. */
也许这导致你记忆中的混乱:
在
/proc/cmdline
(即内核本身的命令行参数)中,参数由 0x20 分隔。在
/proc/
some_process_id/cmdline
(即,单个用户进程的命令行参数)中,参数由 0x00 分隔。假设您正在谈论它们在 中的显示方式
/proc/cmdline
,则它们由空格分隔。它不可配置。你可以在这里看到解析函数: https ://elixir.bootlin.com/linux/v4.18.13/source/lib/cmdline.c#L199