Я установил Gentoo без графического интерфейса и aplay /usr/shar/sounds/startup3.wav &> /dev/null & в мой файл /etc /bash /bashrc. Это прекрасно работает при воспроизведении звукового файла, но как только звук заканчивается, и я нажимаю Enter, он говорит мне, что процесс завершен. Когда я запускаю звук на переднем плане, у меня нет возможности что-либо делать в своем терминале, пока звук не закончится.

Можно ли как-нибудь воспроизвести звук без каких-либо выходных или сбоев после входа в систему?

1 ответ1

0

Это сообщение "Готово" вызвано тем, что командная оболочка все еще находится под контролем задания:

$ sleep 10 &
[1] 660
$ jobs
[1]+  Running                 sleep 10 &

 (time passes)

$ 
[1]+  Done                    sleep 10

Вы можете просто удалить все задания из управления заданиями с помощью disown (a)

$ sleep 100 &
[1] 3804
$ jobs
[1]+  Running                 sleep 100 &
$ disown
$ jobs
$

Я не знаю , метода откреститься работой прямо с ее началом (б), так что я предлагаю , чтобы вы просто поставить disown ваш Bashrc, сразу после звуковой команды. Однако это отменит все рабочие места - я не знаю, если это требуется. В противном случае вы можете использовать disown %aplay .


(а) man bash

отречься [-ar] [-h] [спецификация работы ...] Без параметров каждая спецификация заданий удаляется из таблицы активных заданий. Если jobspec отсутствует и не указан ни -a, ни -r, используется оболочка для текущего задания. Если задана опция -h, каждая спецификация заданий не удаляется из таблицы, а помечается так, что SIGHUP не отправляется заданию, если оболочка получает SIGHUP. Если спецификация заданий отсутствует и не указана ни опция -a, ни опция -r, используется текущее задание. Если спецификация заданий не указана, опция -a означает удалить или отметить все задания; опция -r без аргумента jobspec ограничивает выполнение операций заданиями. Возвращаемое значение равно 0, если в задании не указано допустимое задание.

(b) Однако в Z Shell zsh это легко:

zsh$ sleep 10 &!
zsh$ jobs
zsh$

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .