我的机器在运行某个二进制文件后不久就会重新启动。我相信原因是看门狗,因为当我删除/dev/watchdog
和时/dev/watchdog0
,我可以毫无问题地运行二进制文件。但是,我更喜欢正确的解决方案而不是解决方法。 (在每次启动时自动运行删除上述文件的脚本对我来说似乎也是解决方法。)
这是当前的看门狗状态:
manuel@manuelthinkpad:~$ sudo sysctl kernel | grep watchdog
kernel.nmi_watchdog = 0
kernel.soft_watchdog = 1
kernel.watchdog = 1
kernel.watchdog_cpumask = 0-3
kernel.watchdog_thresh = 10
然后我禁用soft_watchdog
:
manuel@manuelthinkpad:~$ sudo sysctl kernel.soft_watchdog=0
kernel.soft_watchdog = 0
新的看门狗状态:(注意,该kernel.watchdog
状态也发生了变化。)
manuel@manuelthinkpad:~$ sudo sysctl kernel | grep watchdog
kernel.nmi_watchdog = 0
kernel.soft_watchdog = 0
kernel.watchdog = 0
kernel.watchdog_cpumask = 0-3
kernel.watchdog_thresh = 10
然后,当运行我的二进制文件时,机器仍然在重新启动。
我在跑Debian GNU/Linux 9.0 (stretch)
附录:sudo tail -f /var/log/syslog
在启动我的二进制文件和系统重新启动之间不打印任何内容。
附录 2:我所说的二进制文件是由我们的构建系统生成的。如果我没记错的话,这个问题是在 Docker 中运行我们的构建之后才出现的。但是,有些东西破坏了我的本地构建系统,所以我无法检查。