您可以在内核命令行上输入“ panic = N”,以使系统在出现紧急情况后N秒重启。
但是,即使在启动加载程序出现之前,是否有一个配置选项可以指定此选项(默认内核命令行选项除外)?一些内核选项可能是?
您可以在内核命令行上输入“ panic = N”,以使系统在出现紧急情况后N秒重启。
但是,即使在启动加载程序出现之前,是否有一个配置选项可以指定此选项(默认内核命令行选项除外)?一些内核选项可能是?
Answers:
似乎没有这样的配置选项。默认超时为0,根据http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt#1898,该超时为“永远等待”。
该选项在kernel / panic.c中定义,您可以编写一个将初始值设置为其他值的补丁。
要在3秒后对重新启动进行硬编码,请更改:
int panic_timeout;
至:
int panic_timeout = 3;
来自man proc
:
/ proc / sys /内核/紧急
该文件提供对内核变量panic_timeout的读/写访问权限。如果为零,内核将在紧急情况下循环;如果非零,则表示内核应在此秒数后自动重新引导。使用软件看门狗设备驱动程序时,建议设置为60。
/dev/watchdog
一段时间未触摸,则触发重新启动)。请参阅Documentation/watchdog/watchdog-api.txt
。
该配置文件是引导(grub)配置文件本身,因为它是在引导时调用的参数,并且在未挂载文件系统时不能期望grub从其他配置文件中读取。
但是,作为初始化设置,运行时也可以通过进行修改sysctl
。因此,本质上/etc/sysctl.conf
用参数更新kernel.panic = 3
是配置更新。
Linux内核支持 CONFIG_CMDLINE_BOOL
允许在构建时为内核指定启动参数。在某些系统(例如嵌入式系统)上,有必要或方便地向内核提供某些或所有内核引导参数(即,不依赖引导加载程序来提供它们)。
甚至在此“门户”上也有一些示例,例如
/superuser/778826/config-cmdline-override-set-but-hardcoded-vga-boot-parameter-忽略
首先在其他答案中总结信息。该值在kernel / panic.c和rw中通过sysctl定义。它可以作为引导命令传递。
我还要说的是,可以在编译过程中将boot命令行设置为默认值。