FAQ Cygwin упоминает "ресурс, временно недоступный" как одно из сообщений об ошибках, которые могут произойти из-за пути создание процесса дескрипторов Windows. Потенциальные решения, которые это перечисляет:
/usr/share/doc/rebase/README
работать rebaseall
gmrun наследует переменную $ PATH
, заданную родителем, который ее породил. Следовательно, можно сделать его исходным ~/.bashrc
, инициировав его с помощью:
bash -ci 'gmrun'
Это создает «интерактивную» оболочку; имеет несколько отличий от неинтерактивной оболочки, но отлично работает с gmrun
. Просто привяжите приведенную выше команду к горячей клавише.
Я думаю, что лучшее, что вы можете сделать сейчас, это правильно настроить OpenVPN, чтобы сообщить ему, что есть второй сервер, например:
Реализация конфигурации балансировки нагрузки/аварийного переключения Клиент
Конфигурация клиента OpenVPN может относиться к нескольким серверам для балансировка нагрузки и отработка отказа. Например,
remote server1.mydomain
remote server2.mydomain
remote server3.mydomain
будет направлять OpenVPN-клиент на попытку соединения с server1, server2 и server3 в таком порядке. Если существующее соединение нарушен, клиент OpenVPN повторит попытку последнего подключения сервер, и если это не удастся, перейдет к следующему серверу в список. Можно также поручить клиенту OpenVPN рандомизировать его сервер список при запуске, чтобы загрузка клиента была вероятной распределяется по пулу серверов.
remote-random
Если вы также хотите, чтобы ошибки разрешения DNS вызвали OpenVPN клиент для перемещения на следующий сервер в списке, добавьте следующее:
resolv-retry 60
Параметр 60 сообщает клиенту OpenVPN, чтобы попытаться разрешить каждый удаленный DNS-имя в течение 60 секунд перед переходом на следующий сервер в список.
Список серверов может также относиться к нескольким демонам серверов OpenVPN выполняется на одной машине, каждый прослушивает соединения на другой порт, например:
remote smp-server1.mydomain 8000
remote smp-server1.mydomain 8001
remote smp-server2.mydomain 8000
remote smp-server2.mydomain 8001
Если серверы являются многопроцессорными машинами, используется несколько OpenVPN демоны на каждом сервере могут быть выгодны с точки зрения производительности точка зрения.
OpenVPN также поддерживает удаленную директиву, ссылающуюся на DNS-имя который имеет несколько A-записей в конфигурации зоны для домена. В этом случае клиент OpenVPN случайным образом выберет один из A записывает каждый раз при разрешении домена.
Источник: https://openvpn.net/index.php/open-source/documentation/howto.html#loadbalance
-121--166880- Обычно аргументы всегда следуют за опциями. Первый параметр (первая последовательность в командной строке, которая не начинается с -
) завершает параметры и начинает аргументы.
Некоторые инструменты, особенно инструменты сборки (компиляторы, линкеры), всегда шли вразрез с этим соглашением. Другим приведенным примером является find
. Иногда это происходит потому, что параметры вступают в силу в точке командной строки, где они появляются, поэтому требуется путь для указания аргументов как до, так и после параметра, где параметр применяется к этому аргументу, только если аргумент появляется после параметра.
Это соглашение позволяет написать сценарий оболочки, который содержит такую строку:
rm foobar ${more_things_to_remove}
...и гарантируйте, что вы не сможете случайно добавить параметры в команду rm
, даже если переменная оболочки более _ вещей, _ для _ удаления
, имеет неприятное значение, такое как « -rf
».
Это соглашение предшествует более позднему соглашению об использовании специального варианта --
для прекращения обработки варианта. --
является гораздо лучшим способом явной маркировки конца опций:
rm -- foobar ${more_things_to_remove}
# and it works even if you don't need to delete something called "foobar":
rm -- ${more_things_to_remove}
Так в последнее время (и в последнее время, я имею в виду, это уже происходит много-много лет) гораздо больше синтаксических анализаторов командной строки, похоже, двигались к нарушению более раннего соглашения и позволяли, видимо, смешивать варианты и аргументы повсюду (при условии, что всегда -
вынуждает к окончанию вариантов), даже если у них нет особых причин нарушать соглашение, как это сделали компиляторы и некоторые другие инструменты.
Лично я никогда не знаю, какие коммунальные службы все еще придерживаются конвенции, а какие нет, поэтому я всегда ставлю варианты перед аргументами, как раньше, и я слегка удивлен, когда вижу чужой рабочий код, который делает это в противоположном порядке!