【发布时间】:2012-02-26 10:09:20
【问题描述】:
我有一个在服务器中运行的脚本,它正在调用一个类中的一个函数。这是一个很长的函数,有一个foreach导入数据,已经运行了几个小时,估计还要运行几个小时。
现在我被要求更新这个文件(在另一个函数上)。我的问题是,如果我在服务器上更新它,会影响当前脚本的运行吗?这是如何工作的,服务器缓存了这些指令并且新文件不会影响它们?还是会?我很困惑!
【问题讨论】:
我有一个在服务器中运行的脚本,它正在调用一个类中的一个函数。这是一个很长的函数,有一个foreach导入数据,已经运行了几个小时,估计还要运行几个小时。
现在我被要求更新这个文件(在另一个函数上)。我的问题是,如果我在服务器上更新它,会影响当前脚本的运行吗?这是如何工作的,服务器缓存了这些指令并且新文件不会影响它们?还是会?我很困惑!
【问题讨论】:
除非脚本用 include no 来回忆他自己,否则它不会被更新。第一次调用脚本时,它在内存中。但是,如果您有一些递归性并且它重新包含自身,那么是的,它将是更新的版本。
【讨论】:
正如@Iznogood 所写,您不知道是否会重新加载脚本,那么为什么要冒险呢? 只有在执行完成后,您才能使用类似以下的内容来运行更新:
while ps -p SCRIPT_PID; do sleep 1; done ; svn up /path/to/script
【讨论】: