2012-02-03 46 views
3

我有一个脚本运行在服务器上,它正在调用一个类中的函数。这是一个长期的功能,用foreach导入数据,已经运行了几个小时,估计还会继续运行一两个小时。更新从cron调用的PHP文件

现在我被要求对这个文件进行更新(在另一个函数上)。我的问题是,如果我在服务器上更新它,是否会影响当前脚本的运行?这是如何工作的,服务器是否缓存了这些指令并且新文件不会影响它们?或者它会?我很困惑!

回答

6

除非脚本使用include否自我回忆,否则它不会被更新。脚本第一次被调用时,它在内存中。但是,如果你有一些递归,并且它包含了它自己,那么是的,它将是更新后的版本。

1

由于@Iznogood写道你不知道脚本是否会重新加载,那么为什么要冒险? 您可以使用类似以下命令来运行执行完毕后,才更新:https://stackoverflow.com/a/7485831

while ps -p SCRIPT_PID; do sleep 1; done ; svn up /path/to/script 

灵感来自