我如何找出Linux中使用声音的程序?


13

无论如何,是否知道正在使用声音系统/服务器的二进制文件?就像在/proc目录(或/dev)中看到东西一样?

过了一会儿ALSA停止工作,我想知道为什么。

Answers:


14

以下命令之一可能会为您提供所需的帮助:

burhan@Ganymede:~$ lsof /dev/snd/*
COMMAND    PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
pulseaudi 1142 burhan  mem    CHR  116,3          7885 /dev/snd/pcmC0D0p
pulseaudi 1142 burhan   21u   CHR  116,5      0t0 7887 /dev/snd/controlC0
pulseaudi 1142 burhan   28u   CHR  116,5      0t0 7887 /dev/snd/controlC0
pulseaudi 1142 burhan   36r   CHR 116,33      0t0 6351 /dev/snd/timer
pulseaudi 1142 burhan   37u   CHR  116,3      0t0 7885 /dev/snd/pcmC0D0p


burhan@Ganymede:~$ fuser -v /dev/snd/*
                     USER PID ACCESS COMMAND
/dev/snd/controlC0:  burhan     1142 F.... pulseaudio
/dev/snd/pcmC0D0p:   burhan     1142 F...m pulseaudio
/dev/snd/timer:      burhan     1142 f.... pulseaudio

在此系统上,pulseaudio是唯一使用声音设备的东西,但这是一台全新的Ubuntu 11.04 VM。您可能还列出了其他内容。


1
我多年来一直使用lsof错误。嗯 感谢这篇文章。
insaner

6

我不确定/ proc中的声音接口,但是如果正在运行PulseAudio,则可以从基于GTK的工具PulseAudio Volume Control获得此信息。在Ubuntu上,它是从pavucontrol软件包安装的。

它使您可以查看使用声音流的所有应用程序,并可以分别控制每个流的音量(除了通道本身的音量之外)。

替代文字


4

lsof | grep dev/snd以root身份运行' '。您将看到哪些进程在/ dev / snd中打开了文件。


在我的机器上,lsof显示一个或两个输出屏幕,然后就座了。它什么也没做。关于可能出什么问题的任何线索?
Geo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.