起因是实验室的主机USB驱动或者供电有问题,部分主机频繁出现USB断连的情况,通过dmesg查看报错 xHCI host controller not responding, assume dead
几经波折终于找到了拯救方案——https://bbs.archlinux.org/viewtopic.php?id=236536
但是!但是还存在另一个问题,总不能时时刻刻盯着服务器看有无断连吧,特别是晚上,遇到一些重要任务还是提心吊胆的QAQ,最好还是能够有自动监控的工具,定时帮忙检查一下有无出现上述情况!
刚好!linux有个现成的定时任务工具可用!
其实不是很懂,现学现用的:https://www.runoob.com/linux/linux-comm-crontab.html
- 先写一个执行脚本:检查是否usb断连,如果断连就重启xHCI服务,记得要给脚本执行权限(chmod +x xx.sh)
#!/bin/bash
# 这里我加入了 >> ./a.log是指把输出写入到a.log文件中,方便我查看定时器执行的结果
echo "定时检查lsusb状态" >> ./a.log
# 这个是加上时间戳,方面查看在哪些时间执行了定时任务,确认定时任务是否执行成功
mdhhmiss=`date "+%m%d%H%M%S"`
echo $mdhhmiss >> ./a.log
# 其实这里如果能判断dmesg或syslog是否存在assume dead会更好,后面再慢慢整一下…
# 为什么现在grep这个Realtek…对比一下断连前后lsusb的