Следующий код получает блокировку, а trap
обеспечивает ее освобождение при выходе из скрипта. Дочерние процессы наследуют блокировку, но не сохраняют ее после выполнения flock --unlock 200
.
flock 200 | exit 1
trap "flock --unlock 200" EXIT
# The rest of the script...
Примечание :Одновременно может действовать только 1 trap
. Если вам нужно выполнить несколько команд в выходной ловушке, вам нужно поместить их в метод или объединить их как таковые trap "flock --unlock 200; echo Bye" EXIT
.
Встроенный графический процессор Realtek и NVidia использует модуль snd_hda_intel
, а устройство, которое вы хотите использовать по умолчанию, использует модуль snd_usb_audio
Опция slots
может исправить порядок карт так, чтобы snd_usb_audio
занимала первый слот (карта 0)
Отредактируйте /etc/modprobe.d/alsa-base.conf
и замените параметры, добавленные в вопросе, на этот:
options snd slots=snd_usb_audio,snd_hda_intel
Расширенная звуковая архитектура Linux -Поддержка автозагрузки модулей | Документация ядра Linux