我写了一个程序来计算笔记本电脑中可用的电池电量。我还在程序中定义了一个阈值。每当电池电量低于阈值时,我想调用另一个进程。我使用了system(“./ invoke.o”),其中invoke.o是我必须运行的程序。我正在运行一个脚本,每5秒运行一次电池级检查程序。一切正常,但是当我关闭bash shell时,invoke.o的自动调用没有发生。无论bash是否关闭,我应该如何调用invoke.o?我正在使用UBUNTU LINUX
答案 0 :(得分:3)
尝试将其运行为:nohup ./myscript.sh
,其中nohup
命令允许您在不终止进程的情况下关闭shell。
答案 1 :(得分:0)
您可以将脚本作为cron作业运行。这让cron为您设置标准输入和输出,重新安排作业,如果失败,它会向您发送电子邮件。
另一种方法是在后台运行一个包含所有输入和输出的脚本,包括标准错误输出,重定向。
虽然你可以从你的程序中制作一个合适的守护进程,但可能没有必要付出那种努力。
答案 2 :(得分:0)