리눅스 - 로그인시 소리가나요?


0

나는 GUI없이 Gentoo를 설치했고 추가했다. aplay /usr/shar/sounds/startup3.wav &> /dev/null & 내 / etc / bash / bashrc 파일에. 이것은 사운드 파일을 재생하는 데는 잘 작동하지만 사운드가 끝나면 엔터를 치면 프로세스가 완료되었다고 알려줍니다. 포 그라운드에서 사운드를 재생할 때 사운드 재생이 끝날 때까지 터미널에서 아무 것도 할 수 없습니다.

로그인 후 출력이나 방해없이 사운드를 재생할 수있는 방법이 있습니까?

답변:


0

"완료"메시지는 셸이 작업 제어하에 여전히 명령을 가지고 있기 때문입니다.

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

 (time passes)

$ 
[1]+  Done                    sleep 10

작업 제어에서 모든 작업을 간단히 제거 할 수 있습니다. disown (에이)

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

시작과 함께 직업을 부인할 수있는 방법을 모르겠습니다. (비) , 그래서 나는 당신이 단순히 disown 소리 명령 직후 bashrc에. 그러나 이것은 모든 직업을 부인할 것입니다 - 이것이 필요한지 나는 모른다. 그렇지 않으면 다음을 사용할 수 있습니다. disown %aplay.


(에이) man bash

disown [-ar] [-h] [jobspec ...] 옵션이 없으면 각 작업 스펙이 활성 작업 테이블에서 제거됩니다. jobspec이없고 -a 또는 -r도없는 경우                 가 제공되면 현재 작업에 대한 쉘의 개념이 사용됩니다. -h 옵션이 주어지면 각 jobspec은에서 제거되지 않습니다.                 쉘이 SIGHUP을 수신하면 SIGHUP이 작업으로 전송되지 않도록 표시되어 있습니다. jobspec이없는 경우,                 -a 또는 -r 옵션이 제공되지 않으면 현재 작업이 사용됩니다. jobspec이 제공되지 않으면, -a 옵션                 모든 작업을 제거하거나 표시하는 것을 의미합니다. jobspec 인수가없는 -r 옵션은 작업을 실행중인 작업으로 제한합니다. 그만큼                 jobspec이 유효한 작업을 지정하지 않은 경우 반환 값은 0입니다.

(b) 그러나, Z 쉘 zsh 이것은 쉽다:

zsh$ sleep 10 &!
zsh$ jobs
zsh$

2
bash에서, (sleep 10 &) 자주 사용되는 해결 방법입니다. setsid sleep 10 요구 사항에 따라 다른 것입니다. & 그것은 또한 제어 tty에서 분리됩니다).
grawity

자세한 답변을 주셔서 감사합니다. 나는 끝내었다. (command &) 위의 의견에서, 그러나 disown은 잘 알고 있습니다. &! zsh에서.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.