Можете ли вы помочь мне понять это поведение bash? Фоновые процессы и их привязка к текущему процессу

В дополнение к @Dr. Про ответ, это помогло мне:

dnf remove *synaptics*
dnf install xorg-x11-drv-libinput
reboot

После этого тачпад работает как обычно, и естественная прокрутка снова работает нормально.

1
08.12.2019, 17:45
1 ответ

В xxx=$(some function &)да, вы выполняете some functionасинхронно в этой подоболочке, но ее стандартный вывод по-прежнему подключен к записывающему концу канала, созданного подстановкой команд.

Таким образом, в то время как подоболочка завершится сразу же после some functionасинхронного запуска, родительская оболочка, которая считывает вывод подстановки команды из конца чтения этого канала для заполнения переменной $xxx, все равно будет ждать конец -файла -в этом канале, что не произойдет, пока some functionне завершится.

Если родительская оболочка уничтожена, то конец канала для чтения закрывается, и some functionполучит SIGPIPE при следующей попытке записи в стандартный вывод (, который переходит в канал ).

1
27.01.2020, 23:40

Теги

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