获取系统连接的所有输入/输出端口的状态

获取系统连接的所有输入/输出端口的状态

列出连接到系统的所有 I/O 端口的命令是什么?

另外,如何获取所有单独端口的状态?

例如:打印机

如何确定打印机是否已准备好打印或者是否有作业正在等待?

例如:监控

如何确定监视器是否处于活动状态?

答案1

正如金发姑娘的评论所说,这是极其异质的。打印机并不是您所说的“端口”,而是有一个完整的软件基础设施来处理打印作业队列(这里是 CUPS,还有其他替代方案)。打印机可能已关闭/已断开连接,但作业正在等待。 USB 端口“正在使用”是什么意思?已插入未安装的随身碟?如果连接了 USB 集线器但未连接任何设备怎么办?什么是“正在使用”的监视器?已连接的用户、正在运行的屏幕保护程序、GDM 问候语?

对于某些设备,如果没有某些活动,可能无法确定某些设备是否已连接。

这就排除了蓝牙和其他无线设备。

更有意义的是询问声音输出是否可用,而不考虑它是否是板载的、通过 USB、通过蓝牙、或者甚至通过 WiFi 连接到某个媒体中心。即,询问是否有一些功能性是可用的,而不是要求(可能是短暂的)设备。

答案2

没有单一的方法,因为这些硬件设备极其多样化。例如,打印机可以直接连接到机器(通常通过 USB,或者对于较旧的打印机,通过并行或串行端口)或通过网络接口(有线或无线,可能通过中间服务器)访问。所以有管理打印机的工具、管理显示器的工具、管理存储介质的工具等等。

lshw是最接近一体化硬件枚举器的东西。它报告直接连接到计算机的可用硬件。它不探测网络,那是另一回事。

您可以在以下位置找到有关硬件的大量信息/sys。它以一种易于程序读取的形式公开,其设计初衷并不是为了对人类有意义。

相关内容