我有一个在服务器中运行的脚本,它在一个类中调用一个函数。这是一个很长的功能,有一个foreach导入数据,已经运行了几个小时,估计会继续运行几个。
现在我被要求对此文件进行更新(在另一个函数上)。我的问题是,如果我在服务器上更新这个,会影响当前脚本的运行吗?这是如何工作的,服务器缓存了这些指令,新文件不会影响它们?或者它会?我很困惑!
答案 0 :(得分:6)
除非剧本回忆他自己的包含否,否则不会更新。第一次调用脚本时,它在内存中。但是如果你有一些递归并且它会重新包装,那么它将是更新版本。
答案 1 :(得分:1)
正如@Iznogood所写,你不知道是否会重新加载脚本,那么为什么要冒风险呢? 您可以使用以下内容仅在执行完成后运行更新:
while ps -p SCRIPT_PID; do sleep 1; done ; svn up /path/to/script