Используется для размонтирования файловой системы после периода бездействия.
Например,
Systemd модули автомонтирования реализуют такую функцию.
Не существует единого надежного способа автоматического обнаружения этого. У сети есть несколько способов намекнуть, что она измеряется, но эти методы далеко не повсеместно используются.
Устройство Android, выступающее в качестве точки доступа Wi-Fi или устройства для модема, установит параметр DHCP 43 в строку ANDROID_METERED
и принудительно вернет этот параметр в ответе DHCP. См.:https://www.lorier.net/docs/android-metered.html
У Apple, по-видимому, есть собственный способ индикации статуса подключения клиентам, использующим функцию точки доступа на устройстве iOS , хотя информации, похоже, недостаточно.
Базовая станция Wi-Fi может реализовать разработанное Microsoft -расширение протокола 802.11 для индикации измеренного состояния беспроводной сети. Я предполагаю, что в Linux wpa_supplicant
будет компонентом для получения этой информации.
Если никакой другой информации нет, Windows устанавливает значение по умолчанию для атрибута «измеренное соединение», основываясь только на типе соединения (Ethernet, WiFi, 4G, 3G или по умолчанию/неизвестно ):, см.https://www.msoutlook.info/question/metered-network-warning
Но когда этих подсказок нет, вы не можете предположить, что соединение не измеряется; может быть, а может и не быть. В NetworkManager атрибут «измеренное соединение» может быть установлен пользователем при настройке соединения, поскольку пользователь может лучше всего знать состояние соединения.
Таким образом, вы можете просто дать пользователю выбор/ответственность либо запустить ваш скрипт, либо отключить его.
Как заявил @telcoM, нет надежного способа определить, является ли соединение лимитным. Дополнительным вариантом может быть настройка -таблицы известных подключений и того, учитываются ли они. Относительно хорошим индикатором этого является внешний IP-адрес, который можно определить с помощью
.dig +short myip.opendns.com @resolver1.opendns.com