特定のバイナリを実行した直後に、マイコンピュータが再起動されます。/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でビルドを実行した後にのみ発生しました。しかし、ローカルビルドシステムに問題が発生したため、確認できませんでした。