问题:
执行adb指令
latest_file = run_command(
f"adb -s {TBOX_DEVICE_NAME} shell 'cd /mnt/sdcard/dlt && ls -t dlt_4g*.dlt.gz 2>/dev/null | head -1'").strip()
key_log = run_command(
f"adb -s {TBOX_DEVICE_NAME} shell 'cd /mnt/sdcard/dlt && gunzip -c \"{latest_file}\" | grep -a \"waitForHeartBeatAck succ\" | tail -n 10'")
偶发报错:
ls: write error: No such file or directory
这个错误表明在查找最新的DLT文件时,ls命令可能遇到了问题。以下是完整的解决方案,包含错误处理和稳定性改进:
解决方法:
添加 2>/dev/null 重定向错误输出
latest_file = run_command(
f"adb -s {TBOX_DEVICE_NAME} shell 'cd /mnt/sdcard/dlt && ls -t dlt_4g*.dlt.gz 2>/dev/null | head -1'").strip()
key_log = run_command(
f"adb -s {TBOX_DEVICE_NAME} shell 'cd /mnt/sdcard/dlt && gunzip -c \"{latest_file}\" | grep -a \"waitForHeartBeatAck succ\" | tail -n 10'")