gpt4 book ai didi

python - Python 中的 Beaglebone Black 看门狗

转载 作者:行者123 更新时间:2023-12-01 15:48:15 26 4
gpt4 key购买 nike

我有一个运行 Debian 的 Beaglebone Black,我需要一个在后台运行的脚本,它会每隔几秒检查一次系统是否仍在运行。据我了解,BBB 中的看门狗是基于硬件的,独立于操作系统运行,因此即使操作系统完全卡住,它也可以重启设备(对吗?)。这是来自 logicsupply 的一个非常简单的示例:

#!/usr/bin/env python

import time
import os

os.nice(20)
time.sleep(60) # Wait before starting
wd = open("/dev/watchdog", "w+")
while 1:
wd.write("\n")
wd.flush()
time.sleep(5)

但我找不到更改默认超时的方法。在 C 中它看起来像:

ioctl(fd, WDIOC_SETTIMEOUT, &timeout);

但是在 Python 中调用 ioctl 函数似乎相当晦涩。来自 this discussion似乎 C 宏定义可能具有不同的值,具体取决于硬件。在 Python 中是否有一种方便的方法来解决它们(至少,这个特定的方法,以更改默认的看门狗超时)?在后台运行脚本的最佳方式是什么,以便它可以使用卡住的操作系统重新启动系统?

最佳答案

This comment通过 Padraic Cunningham已指示我到 manpage for watchdog.conf这是在 AM335x 上配置硬件 WDT 的正确且有效的方法,因此不需要额外的脚本/守护进程:

watchdog-timeout = 10

关于python - Python 中的 Beaglebone Black 看门狗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29750547/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com