Использование утилиты flock(1)
из Linux (или скрипта lockf.py
из другого ответа , аналогичного в этом отношении ), не гарантирует, что «поставленные в очередь» команды будут выполняться в том порядке, в котором они были отправлены.
$ sh -c 'for i in 1 2 3 4 5 6 7 8 9; do sleep.1; flock / sh -c "echo $i; sleep.3" & done; wait'
1
2
3
5
4
...
Глупое «решение» для создания очереди заданий может быть чем-то вроде:
$ (echo > jobq; tail -f jobq | sh) &
[2] 6641
$ echo echo 1 >> jobq
1
$ echo echo 2 >> jobq
$ 2
etc
Возможное решение, позволяющее избавиться от ошибок загрузки, заключается в добавлении mt76x2u
модуля ядра в черный список. Для этого вы можете добавить файл /etc/modprobe.d/no-xbox-wireless-adapter.conf
со следующим содержимым:
# Blacklisting mt76x2u because it gives errors on boot.
# mt76x2u is used by Xbox Wireless Adapter.
blacklist mt76x2u
Затем вам нужно перегенерировать initramfs
для создания нового виртуального диска с удаленным модулем. В Arch вы делаете это, запустив mkinitcpio -p linux
.