我在我的瀏覽器中運行一個腳本,在數據庫中插入一些100000條記錄。出於某種原因,我刪除了我編寫腳本的文件,但對於我而言,即使腳本不存在,腳本仍會將記錄插入數據庫中,這並不令人驚訝。這是爲什麼?即使文件不存在,爲什麼腳本仍在運行?
2
A
回答
2
當一個請求到網絡服務器進行:
的PHP文件加載到內存中,它被編譯並運行。
由於文件在內存中,因此對磁盤上文件的任何更改都不適用於運行文件。
如果罷工在你另一個問題,爲「爲什麼它被裝載到它爲什麼不能從磁盤直接執行內存??地獄?」:
這裏的內存大部分是RAM,它在讀寫時速度更快,這是與處理器速度競爭的需要。
HardDisk是一個慢速內存,因此,從它進行訪問會讓您的程序執行速度非常慢。
,以配合處理器的速度,總會有這種需要一個可執行文件從慢速內存(通常硬碟)到更快的內存(通常RAM或處理器的高速緩存有時)加載。
因此,原因和答案,至於爲什麼你的磁盤上的文件沒有在內存中同步文件。
也請放心,這將在您的下一個請求中正常工作!
但是,如果您仍想立即執行此操作,則可以考慮停止/重新啓動Apache/IIS(無論哪個適用的服務器),因爲這會立即終止進程。
0
@Umair一旦你運行腳本,然後請求去服務器,它會運行在服務器上,直到進程完成。所以無論文件是否可用都無關緊要,因爲這是正在處理的舊請求,這就是爲什麼會發生這種情況。
4
該進程正在執行內存中的而非磁盤。
如果你想停止正在運行的腳本,你將需要重新啓動你的web服務器,或者終止php進程。取決於它是否從命令行運行。
相關問題
- 1. 即使動態刪除腳本後,爲什麼此功能仍在運行?
- 2. 即使文件不存在,爲什麼SELECT INTO OUTFILE給文件存在錯誤?
- 3. 即使閃存在我的機器上被卸載,但爲什麼閃存仍在Chrome中運行?
- 4. 爲什麼此腳本在Chrome中運行,但不在Firefox中運行?
- 5. 腳本是不承認,即使他們存在的文件夾
- 6. 即使腳本中存在「PAUSE」,運行腳本後仍會關閉命令窗口
- 7. 爲什麼我的腳本在使用mod_perl運行時使用更多內存?
- 8. 爲什麼這個腳本不能在Safari或Chrome上運行?
- 9. 爲什麼此腳本在運行時不能偶爾工作?
- 10. 我的iMacro腳本不在我的PHP腳本中運行。爲什麼?
- 11. 爲什麼Mongoose不能在腳本執行時保存記錄?
- 12. 即使在互聯網連接關閉後仍然保持腳本運行
- 13. 爲什麼測試不能使用這個gradle腳本運行
- 14. 即使不在屏幕上,碎片是否仍在運行?
- 15. 爲什麼的hasMany關係仍在工作,即使我在Laravel
- 16. RVM:即使我使用1.9.2,爲什麼我的Ruby on Rails項目仍然在運行Ruby 1.9.3版本?
- 17. 什麼是最好的運行SQL腳本存儲在文本列?
- 18. 爲什麼在shell腳本輸出文件被寫成單行?
- 19. 有條件的運行腳本在travis.yml中不起作用,爲什麼?
- 20. ScriptManager立即運行腳本
- 21. 爲什麼可以手動運行Python腳本,但不能使用crontab運行?
- 22. 爲什麼maven settings.xml文件不存在?
- 23. 爲什麼Python說文件不存在?
- 24. 爲什麼在運行之前必須先保存文件?
- 25. Shell腳本在運行時認爲目錄不存在
- 26. 爲什麼即使在刷新和使用-u時,python仍然會緩存stdout?
- 27. 爲什麼不導入在使用execfile()運行的python腳本中阻止NameError?
- 28. Git grep:即使文件存在於文件中,Somtimes仍爲空結果
- 29. 運行腳本,即使連接丟失
- 30. 在輸出文件上運行腳本
它被緩存在內存中。 – DejanLekic 2012-03-03 11:10:54