Как удостовериться, что Bluetooth выключен, после загружаются?

Дескриптор файла 1 переводит в stdout Файловую структуру в Ядре, Открывают Files Table.

Это - недоразумение. Таблица файлов ядра не имеет ничего вообще, чтобы сделать с файловыми структурами пространства пользователя.

В любом случае ядро имеет два уровня абстракции. Существует внутренняя структура, которая представляет сам файл, который является считаемой ссылкой. Существует "открытое описание файла", которое является считаемой ссылкой. И затем существует дескриптор файла, который не является считаемой ссылкой. Файловая структура указывает путь к самому inode. Открытое описание файла содержит вещи как открытый режим и указатель файла.

Когда Вы звоните близко, Вы всегда закрываете дескриптор файла. Когда дескриптор файла закрывается, подсчет ссылок на его открытом описании файла постепенно уменьшается. Если это переходит к нулю, открытое описание файла также выпущено, и подсчет ссылок на самом файле постепенно уменьшается. Только если это переходит к нулю, освобожденная файловая структура ядра.

Нет никакого шанса для одного процесса для выпуска ресурса, который использует другой процесс, потому что совместно используемые ресурсы являются считаемой ссылкой.

4
11.12.2010, 18:04
2 ответа

Примечание: Я не могу протестировать этот ответ.

Предположение, что Вы хотите отключить Bluetooth и не только индикатор, rfkill утилита, делает то, что Вы хотите. Следующая команда должна отключить Bluetooth:

$ rfkill block bluetooth

Чтобы сделать это на каждой начальной загрузке, эта строка может быть помещена в /etc/rc.local, другой пользовательский init сценарий или (при наличии) новомодный сценарий. Я рекомендую использовать полный путь исполняемого файла внутри /etc/rc.local или в пользовательском init сценарии. В моей системе это /sbin/rfkill, но может быть найден с помощью команды which rfkill. Таким образом в моей системе, я поместил бы следующую команду в /etc/rc.local где-нибудь прежде exit 0:

 /sbin/rfkill block bluetooth

В зависимости от Вашей установки Debian Вы не можете иметь /etc/rc.local. В этом случае пользовательский init сценарий может быть способом пойти. init сценарий мог быть сохранен в /etc/init.d/disable-bluetooth и содержите что-то как:

 #!/bin/sh
 /sbin/rfkill block bluetooth

Затем удостоверьтесь, что команда является исполняемым файлом (chmod 755) и добавьте его для запущений (update-rc.d disable-bluetooth defaults).

Примером новомодного новомодного сценария был бы названный файл /etc/init/disable-bluetooth.conf содержа что-то как:

description "Disable Bluetooth devices"

start on startup

task
exec /sbin/rfkill block bluetooth

rfkill использование /dev/rfkill который является интерфейсом, обеспеченным ядром Linux.

5
27.01.2020, 20:54
  • 1
    Debian не принял Выскочку. –  tshepang 11.12.2010, 19:54
  • 2
    у меня создалось впечатление, что они перемещались к выскочке. Я удалил ссылку на debian, но сохранил новомодный сценарий, так как кто-то мог бы найти это полезным так или иначе. –  Steven D 11.12.2010, 20:28
  • 3
    я обновил его с примерами с помощью простых init сценариев. –  Steven D 11.12.2010, 20:44

В debian/kali проверьте следующее:

в /etc/default/bluetoothBLUETOOTH_ENABLED=0

в /etc/bluetooth/main.confAutoEnable=false

и если у вас есть blueman -апплет , проверьте его настройки PowerManager плагина

0
06.11.2020, 11:41

Теги

Похожие вопросы