我有一个尝试在启动后建立SSL连接的进程,但如果尚未设置时钟(日期与证书上的生效日期不匹配),则会失败。是否可以将upstart配置为仅在设置内部时钟后启动进程?
时钟的默认设置是2010-01-01,所以像date >= 2014
这样的东西就足够了(显然不是合法的新贵语法,但概念仍然存在)。
我能想到的最好的方法是在NTP启动后启动,但这并不一定意味着时钟已经设置,因为网络连接建立可能会延迟或暂时不可用。
答案 0 :(得分:0)
简单的解决方案可能只是轮询日期并等待500毫秒或其他任何事情再次尝试,如果日期还没有结束。
答案 1 :(得分:0)
这是我最终做的事情:
start on started connman
stop on runlevel [016]
script
YEAR=$(date +'%Y')
until [ $YEAR -ge "2014" ]; do
sleep 5
YEAR=$(date +'%Y')
done
python access_point.py
end script
我等到连接管理器运行然后我每隔5秒检查一年,直到2014年或更高年份。