首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >连续监控usb连接状态

连续监控usb连接状态
EN

Ask Ubuntu用户
提问于 2023-03-30 03:04:11
回答 1查看 75关注 0票数 1

我正面临一个usb接口的问题。当我将移动设备连接到我的PC USB端口时,有时它会断开并立即连接。所以我想要连续监控USB连接状态。有什么方法可以监视连接状态吗?

如果能够获得日志文件,并且只有usb连接状态,那就更好了。

EN

回答 1

Ask Ubuntu用户

发布于 2023-03-30 05:36:38

您可以使用pyudev和一个监视USB连接、将事件记录到文件并将事件打印到控制台的python脚本来完成这一任务。

从安装包pip install pyudev开始

下面是脚本:

代码语言:javascript
运行
复制
import os
import sys
import pyudev

from datetime import datetime

def log_event(event_type, device):
    timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    message = f"{timestamp} - {event_type}: {device.get('ID_SERIAL_SHORT') or device.get('ID_SERIAL')} - {device.get('ID_MODEL')}"

    with open("usb_connection_log.txt", "a") as log_file:
        log_file.write(message + "\n")

    print(message)

def monitor_usb_events():
    context = pyudev.Context()
    monitor = pyudev.Monitor.from_netlink(context)
    monitor.filter_by(subsystem='usb')

    for action, device in monitor:
        if action == 'add' and 'ID_SERIAL' in device:
            log_event("Connected", device)
        elif action == 'remove' and 'ID_SERIAL' in device:
            log_event("Disconnected", device)

if __name__ == "__main__":
    try:
        monitor_usb_events()
    except KeyboardInterrupt:
        print("\nMonitoring stopped.")
        sys.exit(0)
票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1461546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档