我正在编写小型C项目来列出可用的串口(实际上是在Linux上) . 它应列出可用的ttyS,ttyUSB,pty等 . 我的问题是我不知道这样做的正确方法是什么 . 例如,在我的/ dev目录中,我有从ttyS0到ttyS31的设备,但实际上没有人可用 . 我尝试在/ sys / class / tty / ttyS *中查找驱动程序,但所有设备似乎都是真实的 . 实际上我只能列出由'socat pty pty'打开的pty,但在我看来它是黑客,因为我只是包装命令'lsof -w -c socat | grep -o'/ dev / pts / [0-9] *'| uniq -u'和我正在寻找更好的方法 .

我的项目:https://github.com/mdrost/serialportlist

我将非常感谢可能的技术帮助和有关功能的评论 .