在 Raspberry Pi 上重新启动崩溃的驱动程序

奈夫梅

我目前正在使用 ACR122U 读卡器开发 NFC 系统,而不使用构造驱动程序,这会导致这些驱动程序偶尔崩溃。这里的问题是当它崩溃时,整个过程没有崩溃,我的程序继续运行但驱动程序没有。(无需说它使我的代码无用)我知道重新启动崩溃程序但不崩溃驱动程序的方法。我想过使用看门狗来硬重置覆盆子,但不用说重启不是最好的选择,因为它需要时间。(我使用的是第一个 Raspberry)。那么,有没有办法只重启驱动程序,更重要的是,检测何时失败?

奈夫梅

经过数小时的研究和试验,我找到了解决自己问题的方法。解决方案实际上非常简单:只是一个后台运行脚本(在我的例子中是我的程序),并使用 grep 进行检查,每两秒:

#!/usr/bin/env bash

command="/your/path/to/your_script"
log="prog.log"

match="error libnfc"

matchnosp="$(echo -e "${match}" | tr -d '[:space:]')"

$command > "$log" 2>&1 &

pid=$!

while sleep 2
do
    if fgrep --quiet "$matchnosp" "$log"
    then
         echo "SOME MESSAGE"
         kill $(pidof your_script)
         $command > "$log" 2>&1 &
         sleep 5
         truncate -s 0 $log      
         echo "SOME OTHER MESSAGE..."
   fi
done

当在日志文件中找到与“error libnfc”匹配的消息时,这将重新启动程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何每周重新启动Raspberry PI

来自分类Dev

从远程Shell重新启动Raspberry Pi上的GUI(GTK)

来自分类Dev

Raspberry Pi程序延迟

来自分类Dev

Raspberry Pi上的Tensorflow

来自分类Dev

如果服务未运行,请重新启动Raspberry Pi

来自分类Dev

重新启动Raspberry Pi之前AJAX响应丢失

来自分类Dev

raspberry pi:编写Linux设备驱动程序

来自分类Dev

Raspberry Pi脚本启动顺序

来自分类Dev

从NFS共享启动Raspberry Pi

来自分类Dev

Raspberry Pi上的JavaFx Ensemble

来自分类Dev

在Raspberry Pi上安装MongoDB

来自分类Dev

Raspberry Pi上的VLC流

来自分类Dev

Raspberry Pi上的MAME ROM

来自分类Dev

NGINX必须经常在Raspberry Pi上重新启动

来自分类Dev

Raspberry Pi上的IoT Edge-使用GPIO驱动程序

来自分类Dev

在其他Windows PC上安装Raspberry Pi驱动程序

来自分类Dev

Raspberry pi上的打印机:Yaourt无法构建驱动程序

来自分类Dev

无法在 Linux 驱动程序中的 Raspberry Pi 上请求键盘 IRQ 1

来自分类Dev

在sudo关闭后启动Raspberry Pi吗?

来自分类Dev

Raspberry Pi在启动后运行脚本

来自分类Dev

重启后Raspberry Pi 4无法启动

来自分类Dev

Raspberry Pi-启动Tkinter脚本问题

来自分类Dev

如何在Raspberry Pi上运行javafx

来自分类Dev

在Raspberry Pi上安装Pillow时出错

来自分类Dev

Raspberry PI上NodeJS中的long setTimeout

来自分类Dev

在Travis上测试Raspberry Pi代码

来自分类Dev

如何在Raspberry Pi上安装FreeRTOS?

来自分类Dev

在Raspberry PI上管理Wifi连接

来自分类Dev

Raspberry Pi上的C ++ chrono库