簡體   English   中英

Python中的Beaglebone Black看門狗

[英]Beaglebone Black watchdog in Python

我有一個運行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函數似乎不太明顯。 這個討論看來,C宏定義可能取決於硬件而具有不同的值。 在Python中是否有一種方便的方法來解決這些問題(至少是更改默認的看門狗超時這一特定方法)? 在后台運行腳本以使其可以使用凍結的OS重新引導系統的最佳方法是什么?

Padraic Cunningham的 評論已將我定向到watchdog.conf聯機幫助頁,這是在AM335x上配置硬件WDT的正確且可行的方法,因此不需要其他腳本/守護程序:

watchdog-timeout = 10

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM