我有一個運行在Cygwin中的輸出已被重定向到另一個文件的bash腳本。如果我將bash腳本作爲批處理作業運行,則MS-DOS會顯示相同的行爲。爲什麼不重定向輸出修改目標文件的上次修改時間字段?
bash.exe &> log.txt
我知道bash.exe定期轉儲輸出,所以我想只是監控log.txt中的最後修改時間來確定是否bash.exe已掛起。
不幸的是,通過重定向向log.txt添加內容不會改變log.txt的上次修改時間。
# ls -la --full-time log.txt
-r-xr-x---+ 1 user Domain Users 66455 2011-11-30 16:16:45.246664800 -0500 log.txt
一段時間後...
# ls -la --full-time log.txt
-r-xr-x---+ 1 user Domain Users 66838 2011-11-30 16:16:45.246664800 -0500 log.txt
注意,即使log.txt中已經變得越來越大,最後修改時間沒有改變。最後修改時間僅在bash.exe終止時更新。
Ubuntu 11.04正確處理了這種情況IMO。
Cygwin的:CYGWIN_NT-6.1
MS-DOS:的Microsoft Windows [版本6.1.7601]