Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 设备从挂起模式唤醒后,如何运行shell脚本?_Linux_Shell - Fatal编程技术网

Linux 设备从挂起模式唤醒后,如何运行shell脚本?

Linux 设备从挂起模式唤醒后,如何运行shell脚本?,linux,shell,Linux,Shell,我能够在启动时在我的板上运行脚本(基于Linux的嵌入式设备)。 一旦设备进入待机模式,从脚本运行的应用程序将被终止。 如何调用此脚本,以便我的应用程序在从待机模式唤醒后运行。 我不能使用pm UTIL,因为它不受支持。还有其他方法可以在恢复时调用脚本吗?您可以尝试运行类似看门狗的脚本,检查应用程序是否在循环中运行,并在需要时重新启动它。在待机状态下,看门狗脚本将停止,在恢复时,它将重新启动应用程序。我假设板上有一个shell和基本coreutils(也称为busybox)。您可以从shell脚

我能够在启动时在我的板上运行脚本(基于Linux的嵌入式设备)。 一旦设备进入待机模式,从脚本运行的应用程序将被终止。 如何调用此脚本,以便我的应用程序在从待机模式唤醒后运行。
我不能使用pm UTIL,因为它不受支持。还有其他方法可以在恢复时调用脚本吗?

您可以尝试运行类似看门狗的脚本,检查应用程序是否在循环中运行,并在需要时重新启动它。在待机状态下,看门狗脚本将停止,在恢复时,它将重新启动应用程序。

我假设板上有一个shell和基本coreutils(也称为busybox)。您可以从shell脚本启动应用程序。如果应用程序死机,脚本将等待几秒钟并重新启动。我还假设你的董事会在应用程序死机后立即进入待机状态。因此,从待机状态唤醒后将重新启动。 此解决方案还假设您的应用程序启动时不会分叉

#!/bin/sh
while true; do
    your_app
    sleep 5  # wait 5s, hopefully returns once board is in standby
done
您应该在启动时启动此脚本,而不是直接启动您的应用程序

#!/bin/sh
while true; do
 ps -eaf | grep your_app
 if [ $? -ne '0' ];then
  ./your_app
 fi
 sleep 5
done

检查退出代码($?)。如果非零,请重新启动应用程序。

如何控制计算机挂起/唤醒?pm utils?还是系统化?还是呆板?他们应该提供钩子,你只需在那里写些东西。你可以使用udev。只需调查设备从待机状态唤醒时触发的事件类型,并在其中一个事件发生时运行脚本。