当前位置: 首页 > 面试题库 >

仅当cron作业尚未运行时才运行

解河
2023-03-14
问题内容

因此,我试图将cron作业设置为我创建的守护程序的一种看门狗。如果守护程序出错并失败,我希望cron作业定期重新启动它…我不确定这样做的可能性如何,但是我通读了一些cron教程,找不到任何可以做我的事情正在寻找…

我的守护程序是从Shell脚本开始的,所以我真的只是在寻找一种方法来运行cron作业,前提是该作业的先前运行仍未运行。

它确实为我试图使用锁定文件提供了解决方案,但我不确定是否有更好的方法来做…

谢谢你的帮助。


问题答案:

我对我编写的打印后台处理程序执行此操作,这只是一个shell脚本:

#!/bin/sh
if ps -ef | grep -v grep | grep doctype.php ; then
        exit 0
else
        /home/user/bin/doctype.php >> /home/user/bin/spooler.log &
        #mailing program
        /home/user/bin/simplemail.php "Print spooler was not running...  Restarted." 
        exit 0
fi

它每两分钟运行一次,非常有效。如果由于某种原因该进程未运行,我会通过电子邮件将特殊信息发送给我。



 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 在Python中管道输出stdout时设置正确的编码 (10个答案) 7年前关闭。 我的程序可以在命令行中正常运行,但是当我将其作为cron作业运行时,它会因错误而崩溃: 它在语句上崩溃 为什么只有在应用程序作为cron作业运行时才会发生这种情况?如何解决? 我尝试了(没有帮助): Python是2.7 问题答案: 旁白:这是一个普遍的问题。 因此,这可

  • 第一次使用cron作业,我在linux上相对较新,我似乎无法让它工作,如果我只是在命令行中手动运行它,它工作得很好,但不是作为cron作业。 我是这样设置的: 合同-e 插入模式 */3****root(cd/home/ec2 user/;java-jar-feedPuller-1.jar)(每3分钟测试一次) 保存并退出 它说它已经创建了一个新的cron作业选项卡 现在,当我做crontab-l

  • 我已经在GitHub操作中设置了一个工作流来运行我的测试并创建测试覆盖的工件。我的YAML文件的精简版本如下所示: 问题是当测试失败时,工件不会被创建。 我从文档中找到了关于的条件,但这也会导致在我的步骤失败时运行此步骤。我不希望发生这种情况,因为在这种情况下没有什么可归档的。 如果上一步已经运行(成功或失败),我如何才能运行此步骤?

  • 我正在尝试运行一个python3脚本,每天在特定的时间检查电子邮件的特定条件。 我可以看到crontab调用了这些命令,但脚本没有给出我需要的结果,即似乎没有运行。我可以在syslog中看到cron的执行: 8月3日16:25:01 raspberrypi/USR/SBIN/CRON[4597]:(pi)CMD(cd/home/pi/pythonscripts) 8月3日16:25:01 rasp

  • 问题内容: 我需要在Java应用程序中启动1-3个外部程序,这些程序具有用户定义的路径。我有几个要求: 如果程序已经在运行,我不希望其执行 我不希望任何程序从我的Java应用程序中夺走焦点 我不在乎其中任何一个是否无法启动。他们只需要默默地失败。 到目前为止,这是我想出的: 然后我再用其他两条路径重复3次。就像我期望的那样开始,并满足了我的第三个要求,但是在前两个条件上却失败了。 做这个的最好方式

  • 问题内容: 在Linux中,是否可以在前台(或交互模式)运行cron作业?(我有一个定期运行的程序来接受用户输入并进行一些处理。因此,我想将其安排为可以在前台运行的Cron作业)。 问题答案: 在您的用户的上尝试一下: 它将在执行脚本的同时(每小时)打开一次,并在脚本退出后退出。当然,您应该修改零件以适合您的需求。