web-dev-qa-db-fra.com

Quel code est exécuté lorsque les écouteurs sont déconnectés?

Je veux exécuter un script lorsque le casque est déconnecté, mais je suis hostile à l'idée de interrogation constante de l'état du code lorsqu'il est déjà exécuté lorsqu'il est modifié.

9
int_ua

Dans la plupart des systèmes, sinon tous, ACPI peut gérer cet événement. Pour tester cela:

  1. Exécuter _acpi_listen_
  2. Débranchez et rebranchez les écouteurs, exemple de sortie: (micro/oreilles partagent la même prise sur mon ordinateur portable)

    _jack/headphone HEADPHONE unplug
    jack/microphone MICROPHONE unplug
    jack/headphone HEADPHONE plug
    jack/microphone MICROPHONE plug
    _
  3. Mettez _your-script.sh_ dans _/etc/acpi/_

  4. Ajoutez un fichier déclencheur d'événement pour votre script dans _/etc/acpi/events/_

    _event=jack/headphone HEADPHONE unplug
    action=/etc/acpi/your-script.sh
    _

    Vérifiez les autres fichiers là-bas pour apprendre.

  5. Vous devrez peut-être redémarrer le service acpid pour recharger les règles modifiées dans _/etc/acpi/events/_

    _Sudo service acpid restart
    _

Référence: man acpid

9
user.dz

La version actuelle de votre script contient maintenant une commande sleep 0.25.

sleep est basé sur un minuteur, donc n'utilisez pas les cycles de traitement en veille…

Il utilise un tout petit peu de processeur pour configurer le minuteur, mais sleep 1 (sommeil 1 seconde), sleep 60 (sommeil pendant une minute) et sleep 86400 (sommeil pendant une journée) Tous utilisent le même nombre de cycles CPU.

sing ACPI Cependant, la solution parfaite est la suivante: ACPI est piloté par les événements et non par les interrogations.

1
Fabby