Отступы от начала делаете для команд в целях? Или записываете как есть?
Посмотрите пример для целей usage: target: и т.п. в Makefile.include.
Такое впечатление, что у вас просто подряд выполняются все команды. И получается, что Makefile.include подключается дважды.
Кстати, в первоначальном примере, где у вас указано
all: ud-rpl_root
Я не нашел где собственно цель ud-rpl_root и аналогично для другой цели.
И, кстати, надо еще учесть использование += для инициализации переменных, т.к. при использовании цели all получится так, что эти переменные уже инициализируются в предыдущей цели и это, видимо, будет не правильно. Нужно избавляться от +=.
Александр: почему под маос "кое-как", вы же пишете в посте, что в макос все удалось скопировать. Значит работают. Посмотрите СМАРТ в макоси.
Скорее всего проблема не аппаратная и диски нормальные.
Еще вариант. Можно выделить все одним большим блоком, указателям присвоить адреса нужных участков в выделенном блоке. В этом случае и выделение будет одно и удаление памяти - то же одна операция. Только не потеряйте начало блока :-) чтоб корректно провести удаление.
LAG_LAGbI4: В вопросе вы написали, имея ввиду обычный пинг, я же добавил в команде ключ -t - бесконечный пинг до прерывания. Имел ввиду, что, скорее всего, через какое-то количество пингов или время начнут появляться потери.
Если это борьба с DOS атаками, то обычно должны быть опции для настройки поведения и для теста можно отключить это. Потом вернуть на место.
На счет странного способа - по моему способ нормальный. Вы бы как боролись с DOS атаками? Думаю тут не через раз, а например что-нибудь типа "блокировка аналогичных пакетов на какой-нибудь не большой промежуток времени", если начинают заваливать пакетами, то промежуток времени увеличивается.
Не посоветую. Я явой не занимаюсь. Просто пришлось помогать одному студенту, который купил себе эту книгу для изучения Явы. Сам он ее еще не успел прочитать, но лабораторки уже начал делать. Возникали элементарные вопросы, ответы на которые я в этой книге найти не смог. Все маты сложил, пока искал в ней информацию. В итоге все равно пришлось гуглить.
gto6120: Можно распарсить.
Прочитать строку из файла можно с помощью того же for:
for /f "usebackq tokens=* delims=" %%a in ("library.xml") do (
echo.%%a
)
Но тут вы уже столкнетесь по полной с проблемой экранирования спец.символов. Смотрите: вы читаете из xml строку содержащую спец.символы, спец.символы в строке, конечно не экранированы. Потом вы эту строку должны будете проанализировать (сравнить с шаблоном и т.п.). А потом вставить эту строку в итоговый файл.
Сценарии командной строки работают таким образом, что перед выполнением команды вместо любых переменных подставляются их значения. А у вас в переменной не экранированная строка. Как только вы подставите ее значение в любую команду тут же получаете проблемы.
Теоретически в переменной можно экранировать спец.символы с помощью операции замены. Например так:
set "str=%str:^>=^^^>%"
Подробности читайте в set /?
Но не уверен, что это сработает, т.к. в этом случае так же нужно подставить строку в команду.
И теперь у вас в строке появляется сочетание ^> и его надо учесть в шаблоне при сравнении.
Короче это если и возможно, то будет очень сложно. Будут конструкции совершенно нечитабельные. Я бы вам посоветовал переписать на js все это. К тому же там можно воспользоваться парсером MSXML. А это уже совершенно другой уровень.
Либо попытайтесь сформулировать задачу по другому, чтоб не нужно было читать строки из xml файла.
Лиюо - можно, перед тем как строки попадут в батник, обработать их с помощью sed, например, таким образом, чтоб заменить символы <> на что-нибудь нейтральное, например на []. При этом сам файл останется не изменным - замененные строки попадут только в батник. Правда в конце придется сделать обратную операцию. Но это уже гораздо проще.
эээ .. не нужно считать количество не четных. То же самое можно сделать просто проанализировав на четность полученную сумму. Если сумма четная - вычесть минимальное не четное.
А почему вы берете 3 цифры? В условии задачи не задано количество цифр в сочетании. Поэтому оно может быть максимальным - вплоть до всех цифр в наборе.
Поэтому надо найти сумму всех цифр, так же надо считать количество нечетных цифр в сумме и найти минимальное нечетную цифру.
Если количество нечетных цифр четное, то минимальную нечетную цифру вычесть из суммы.
Вариантов максимальных сочетаний 2 - либо все цифры, либо все - максимальная нечетная.
Сортировать при этом не нужно.
Еще можно мониторить дисковое пространство - в ежедневных заданиях:
/etc/crontab задание periodic daily | weekly | monthly
Отчет от df делается в daily. Обычно отчеты уходят на электронную почту rootу (если sendmail настроен), но можно перенаправить в файл и мониторить файл.
Я мониторю ежедневные логи aide.
Кроме того полезно доступность сервера по пинг, если там крутятся дополнительные службы - доступность служб (телнетом или еще чем-то). Если это шлюз - доступность интернета.
Значит нужно посмотреть, кто держит файл.
По моему в пакете SysInternals Suite есть нужная утилита. Скачайте его с сайта мелкософта.
Там точно есть diskmon - монитор дисковых операций.
Запустите перед стартом шедулера diskmon, настройте фильтр в дискмоне на ваш каталог и запускайте шедулер.
С помощью стандартного монитора ресурсов можно не обнаружить, т.к. операция быстрая, а там обновление по таймеру. А в дискмоне пишутся все обращения, как в логе.
Посмотрите пример для целей usage: target: и т.п. в Makefile.include.
Такое впечатление, что у вас просто подряд выполняются все команды. И получается, что Makefile.include подключается дважды.
Кстати, в первоначальном примере, где у вас указано
all: ud-rpl_root
Я не нашел где собственно цель ud-rpl_root и аналогично для другой цели.
И, кстати, надо еще учесть использование += для инициализации переменных, т.к. при использовании цели all получится так, что эти переменные уже инициализируются в предыдущей цели и это, видимо, будет не правильно. Нужно избавляться от +=.