В Cygwin запущен скрипт bash, вывод которого был перенаправлен в другой файл.MS-DOS демонстрирует такое же поведение, если я запускаю сценарий bash как пакетное задание.
bash.exe &> log.txt
Я знаю, что bash.exe регулярно выводит выходные данные, поэтому я хотел бы просто отслеживать время последнего изменения журнала.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]