Переработайте закрывает процесс, размещающий appdomain. Вы заметите, что PID изменяется при переработке его.
Разгрузка AppDomin просто разгружает все блоки в AppDomain, который может тогда быть снова использован.
важная вещь помнить состоит в том, что, как только CLR загружается в процесс, он не может быть удален. Таким образом, если необходимо было сделать что-то, как только CLR загружается, тогда просто разгружение AppDomain не поможет, потому что CLR не будет перезагружен.
Также не, что IIS не является единственным процессом, который может разместить AppDomain - любой процесс может, и Вы не всегда хотите уничтожить целый процесс только для разгрузки блоков.
Вы можете получить время последнего изменения файла с помощью stat
, а текущую дату с помощью date
. Вы можете использовать строки формата для обоих, чтобы получить их в «секундах с начала эпохи»:
current=`date +%s`
last_modified=`stat -c "%Y" $file`
Тогда довольно легко поставить это в условие. Например:
if [ $(($current-$last_modified)) -gt 180 ]; then
echo "old";
else
echo "new";
fi
Команда stat выдаст вам время последней модификации
stat -c %y <filename>
Изменение отметки времени файла на самом деле не означает, что вы успешно скопировали.
Если вы повредите файл или в файловой системе закончится место,
вы, вероятно, по-прежнему увидите изменение метки времени (необходимо подтвердить это).
Я не понимаю точного контекста вашего требования.
Если вы запускаете cp
, он завершается и возвращается - не возвращается, пока работает.
Итак, разве возврат (с успешным кодом выхода) не является хорошим индикатором успеха?
Как и почему вы должны частично выйти из операции cp
?
Или это пакетный cp
сценарий, который перебирает список файлов ...
некоторая проработка поможет.
Синтаксис этого оператора if зависит от вашей конкретной оболочки, а команды даты - нет. Я использую bash; при необходимости измените.
if [ $(( $(date +%s) - $(date +%s -r <file>) )) -le 180 ]; then
# was modified in last three minutes
else
# was not modified in last three minutes
fi
+% s
сообщает date, что нужно выводить время UNIX (важный бит - это целое число в секундах). Вы также можете использовать stat для получения этой информации - команда stat -c% Y
эквивалентна. Обязательно используйте % Y
, а не % y
, чтобы получить полезное время в секундах.