выполните это, прежде чем добавят дисциплину очереди при связывании интерфейса (bond0 в этом случае)
ipconfig bond0 txqueuelen 1000
это не работает, потому что виртуальное устройство программного обеспечения как связывание интерфейса не имеет никакой очереди по умолчанию.
Для этого можно использовать встроенную оболочку wait
.
Встроенная функция wait
просто заставляет оболочку приостанавливать ожидание завершения фоновых заданий. Вы можете либо передать ему конкретное задание для ожидания, либо дождаться всех заданий.
Например:
echo $(date): starting
sleep 5 &
echo $(date): do something else
wait
echo $(date): background job finished
Результат:
Thu Sep 25 12:06:48 EDT 2014: starting
Thu Sep 25 12:06:48 EDT 2014: do something else
Thu Sep 25 12:06:53 EDT 2014: background job finished
В Linux файл не блокируется, даже когда в него записывается программа (в отличие от windows).
Для проверки завершения процесса используйте:
while [[ 1 ]]; do
pgrep dbprocess &>/dev/null
if [[ $? -eq 0 ]]; then
echo still running
else
echo finished
# start ftp transfer
fi
sleep 2
done
Чтобы проверить, открыт ли процесс, используйте
lsof
, он перечислит процессы, которые открыли
ls -l /proc/$(pgrep db-process)/fd
перечислит дескрипторы файлов, открытые процессом db-process