Я хочу выполнить сценарий на разъединении наушников, но я снова послал идею постоянного опроса состояния, когда уже существует некоторый код, выполненный, когда это изменяется.
В большинстве систем, если не все, ACPI может обработать это событие. Протестировать это:
acpi_listen
Отключают & наушники переразъема, пример произвел: (доля микрометра/ушей в том же разъеме на моем ноутбуке)
jack/headphone HEADPHONE unplug
jack/microphone MICROPHONE unplug
jack/headphone HEADPHONE plug
jack/microphone MICROPHONE plug
Помещенный your-script.sh
в /etc/acpi/
Добавляют триггерный файл события для Вашего сценария в /etc/acpi/events/
event=jack/headphone HEADPHONE unplug
action=/etc/acpi/your-script.sh
Проверка другие файлы там для приобретения знаний из.
Вы, возможно, должны перезапустить acpid
сервис перезагрузить измененные правила в /etc/acpi/events/
sudo service acpid restart
Ссылка: man acpid
Текущая версия Вашего сценария теперь содержит sleep 0.25
команда.
sleep
основано на таймере, так не использует никакой циклы обработки, в то время как sleeping†¦
Это действительно использует очень крошечный бит ЦП для установки таймера, но sleep 1
(сон 1 секунда), sleep 60
(сон в течение минуты) и sleep 86400
(сон в течение дня) все использование те же циклы ЦП числа.
Используя ACPI однако прекрасны решение, поскольку ACPI событийно-ориентирован вместо управляемого опросом.