我有一个小脚本,可以连续检查某些条件,一旦满足该条件,程序就应该执行。这可以做到吗。我曾想过使用脚本每 5 分钟运行一次的 crontab,但现在我希望在没有 crontab 的情况下完成
问问题
7000 次
1 回答
1
您可能想先创建一个无限循环,然后在该循环中您可能想验证您的条件或稍等片刻。由于您没有提及您想使用哪种脚本语言,我将为示例编写伪代码。给我们更多关于脚本语言的信息,也许还有条件。
伪代码示例:
# Defining a timeout of 1 sec, so checking the condition every second
timeout = 1
# Running in background infinitely
while true do
# Let's check the condition
if condition then
# I got work to do
...
else
# Let's wait a specified timeout, not to block the system
sleep timeout
endif
endwhile
带有输入代码的 sh 示例
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin
# Defining a timeout of 1 hour
timeout=3600
while true
do
case 'df /tmp' in
" "[5-9]?%" ") rm -f /tmp/af.*
;;
*)
sleep $timeout
;;
esac
done
然后,您可以使用“nohup”从 shell 运行此脚本:
nohup yourscript &
于 2012-05-04T12:07:03.727 回答