如何在特定时间停止执行.sh脚本?

时间:2011-08-23 08:11:03

标签: sh

我有以下脚本,确保每3秒调用一次.php文件。

#!/bin/bash

for (( i=0; i<43200; i++ ))
do

/usr/bin/php /var/www/vhosts/mydomain.com/httpdocs/somefile.php


sleep 3
done

如果时间是23:58:59,我希望能够停止脚本执行

任何人都可以帮助我?

谢谢Zoran

3 个答案:

答案 0 :(得分:2)

case `date +%H%M` in 2359) break ;; esac

编辑:我发现日期格式化字符串中的零填充不可移植,所以我把它取出来了。无论如何,在这种情况下,它没有用处或必要。

答案 1 :(得分:0)

再说一遍。

由于您的脚本没有输入,您可以尝试以下列方式启动脚本:

./yourscript.sh & sleep 10 && kill %1 && fg

试一试。

答案 2 :(得分:-2)

我认为没有使用像python或perl这样的脚本语言没有直接的方法。

如果您想要已经实现了te perl脚本,那么

http://www.cyberciti.biz/faq/shell-scripting-run-command-under-alarmclock/


利用率摘要:

创建一个包含以下内容的文件installTimeout.sh:

wget http://pilcrow.madison.wi.us/sw/doalarm-0.1.7.tgz
tar -zxvf doalarm-0.1.7.tg
cd doalarm-0.1.7
make

并运行命令:

source installTimeout.sh

现在它对你来说是透明的。 当您想要为脚本提供超时时,您只需要运行:

doalarm 20 your script

最佳, STE