即使使用超时,mkdosfs 也会永远挂起

即使使用超时,mkdosfs 也会永远挂起

我正在使用基于的自定义 bash 脚本测试大量 USB 闪存驱动器f3

在执行f3writef3read格式化驱动器之前,根据我的经验,某些驱动器在出厂时未正确格式化 - 因此无法在这种状态下使用(或测试)。

当我执行测试时,一些坏驱动器会mkdosfs -I -F32永远挂起该进程。

我尝试过使用timeoutwithSIGKILL在几分钟后强制终止 mkdosfs 进程(如果它没有完成),但这不起作用。

我读到执行内核调用的进程可能会进入标有字母“的不间断睡眠”D' 在tophtop.

情况似乎确实如此——到目前为止,我发现终止进程的唯一方法是物理断开正在处理的 USB 闪存驱动器。

现在这些坏驱动器根本无法完成格式化。这是来自 的屏幕截图htop

在此输入图像描述

我想知道我能做什么才能停止该进程 - 或者至少检测到它已挂起,以便我可以通知用户。也许有一些软件可以重置USB端口?

相关内容