После отслеживания вокруг различных форумов и некоторое сообщение Переполнения стека я нашел проблему.
Вот объяснение, чтобы лучше понять и 'видеть' первопричину ошибок.
Прежде всего, если Вы - написание кода в Windows, лучшая рука сами с Блокнотом ++. Это - в основном швейцарский нож текстовых редакторов, по-моему.
Теперь, чтобы взглянуть на EOL (конец строки) символы и другие символы управления делают следующее:
1. Откройте файл в Блокноте ++.
Выберите Представление> Выставочный Символ> Шоу Все Символы от Строки меню
Необходимо теперь видеть символы следующим образом:
Ага! Windows/MS-DOS использует CR+LF для указания на конец строк. Теперь UNIX использует символ LF для указания на линейное окончание (символ EOL).
2.1. Давайте преобразуем Windows EOL в UNIX EOLs:
Выберите РЕДАКТИРОВАНИЕ> Преобразование EOL> Формат UNIX
Необходимо видеть что-то вроде этого:
Это объясняет, почему мы видели, что '\r' символ был добавлен в конце строки. Это вызвано тем, что UNIX распознал '\n' или LF (перевод строки) как линейное окончание / символ EOL, но проигнорируйте '\r' или ^M (возврат каретки) символ.
Мы можем также протестировать на выпуск EOL
bash-3.00$ head myScript.sh | cat -vet | head -1
#usr/bin/bash^M$
bash-3.00$ #We see that ^M, that is \r is found at the end of each line.
2.2. Если Вы хотели бы, преобразовывают файл от Windows до UNIX формат EOL на UNIX затем существует два способа зафиксировать это:
$ dos2unix myScript.sh
или
Используйте решение, предоставленное @Chris Вниз как указано ниже:
$ sed -i 's/\r$//' myScript.sh
Ссылки:
Вы могли дать ему попытку в jnettop: http://sourceforge.net/projects/jnettop/ - http://www.freshports.org/net-mgmt/jnettop/, но информация об идентификаторе процесса должен отсутствовать.
С iftop
у Вас мог быть подробный отчет о пропускной способности (iftop -i re0 -N -P
), но Вы не будете видеть (снова) идентификатор процесса определенного сетевого трафика. Необходимо будет вывести, какой трафик связан с какой программное обеспечение.
Существует названный инструмент nethogs
на Linux, но начиная с него heavly зависит от /proc
не могло быть тривиальным для портирования его на FreeBSD - http://marc.info/?l=freebsd-questions&m=127092700612560&w=2
A || B ; C
Если A выходит с ненулевым статусом, запуск B. C выполняется безоговорочно
A ; B || C
запуск A. Затем запуск B. Если выход B выполняется с ненулевым статусом, запуск C
Тангиально, вы иногда увидите A & & B | | C
. Обычно предполагается, что он является кратким для , если А; затем В; else C; fi
. Однако существует одно основное различие:
A && B || C
if A; then B; else C; fi
Демонстрация:
$ (echo A; exit 0) && (echo B; exit 1) || (echo C; exit 2); echo $?
A
B
C
2 # <== the exit status of C
$ if (echo A; exit 0); then (echo B; exit 1); else (echo C; exit 2); fi; echo $?
A
B
1 # <== the exit status of B
-121--209804- Все. limit
match не имеет дополнительных квалификаций.
Соответствие hashlimit
является более конфигурируемым.
iptables-расширения через man iptables .
Следует отметить, что многие «пользователи» могут находиться за одним IP (NAT, http proxy, CGNAT).
Я понятия не имею, какая будет здесь лучшая практика. Но эта реализация не кажется полезной, поскольку HTTP поддерживает постоянные соединения. Апач mod_evasive было бы лучше с этой точки зрения.
Если вы не используете постоянные подключения, вы будете немедленно заблокированы с этим лимитом. Средний веб-сайт загружает 100 ресурсов (!)
-121--166712-Практически любое обычное сетевое средство Unix, о котором вы знаете, доступно на FreeBSD, включая nmap, ntop и множество других, ни о чем я сейчас не могу думать.