PCM device 확인
ALSA 를 이용하여 오디오 프로그램 개발 시 간혹 device busy 라는 오류가 발생한다.
이것은 mixer가 없는 장치에서 동일한 오디오 디바이스를 사용하려면 나는 충돌 오류이다.
이를 해결하기 위해서 fuser 명령어를 이용하여 상태를 체크해볼 수 있다.
PCM device 확인
# ls /dev/snd/
by-path controlC0 pcmC0D0c pcmC0D0p timer
이 장치는 pcmC0D0c 라는 audio capture 장치와 pcmC0D0p 라는 audio playback 장치가 있다.
1. PCM playback device 사용 확인
fuser -fv /dev/snd/pcmC0D0p
PCM playback device 상태, pid 3128, audio_player 라는 프로세스가 사용 중인 것을 확인할 수 있다.
# fuser -fv /dev/snd/pcmC0D0p
USER PID ACCESS COMMAND
/dev/snd/pcmC0D0p: root 3128 F...m audio_player
2. PCM capture device 사용 확인
fuser -fv /dev/snd/pcmC0D0c
PCM capture device 상태, pid 3135, audio_server 라는 프로세스가 사용 중인 것을 확인할 수 있다.
# fuser -fv /dev/snd/pcmC0D0c
USER PID ACCESS COMMAND
/dev/snd/pcmC0D0c: root 3135 F...m audio_server
위와 같은 방법으로 audio device 점유 상태를 확인하여 ALSA handle 시 device busy 를 피할 수 있다.
'IT > linux' 카테고리의 다른 글
정규 표현식 목록 / Regular expression sheet (0) | 2021.12.29 |
---|---|
linux awk 사용법과 예제 설명 (0) | 2021.12.29 |
alsa.conf alsa-utils reload 예제 (0) | 2021.12.29 |
시스템 로그(syslog) 종류, 비활성화 방법과 예제 (0) | 2021.12.29 |
포트 보안을 위한 서비스 중지 목록 및 방법 (0) | 2021.12.28 |
댓글