linux df -Th指令卡死

问题

复制代码
今天发现服务器某些指令卡死,并且root目录也没法ls查看,df -Th也卡死,如下

解决方法

复制代码
经过搜索后发现是磁盘问题导致,是root下某个挂载点导致错误,可以用如下脚本来测验挂载点是否有错误
bash 复制代码
# 创建一个测试脚本,逐个挂载点测试
cat > /test_mounts.sh << 'EOF'
#!/bin/bash
echo "测试每个挂载点的响应时间..."

for mnt in $(mount | awk '{print $3}'); do
    echo -n "测试 $mnt ... "
    timeout 2 stat "$mnt" >/dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo "正常"
    elif [ $? -eq 124 ]; then
        echo "卡死/超时 ← 可能是这个导致df卡死"
    else
        echo "错误"
    fi
done
EOF

chmod +x /test_mounts.sh
./test_mounts.sh

执行后结果如下

发现是/root/thinclient_drives挂载点导致错误,查后发现这个 xrdp 客户端驱动器映射的 FUSE 挂载有问题。使用如下指令重新启动就好了

bash 复制代码
# 1. 清理当前挂载
sudo fusermount -uz /root/thinclient_drives 2>/dev/null
sudo umount -l /root/thinclient_drives 2>/dev/null

# 2. 删除并重建目录
sudo rm -rf /root/thinclient_drives
sudo mkdir -p /root/thinclient_drives
sudo chmod 700 /root/thinclient_drives

# 3. 重启 xrdp 服务
sudo systemctl restart xrdp-sesman

如果不想用xrdpu也可以直接禁用(上面重启和下面禁用2选1即可)

bash 复制代码
# 1. 永久禁用客户端驱动器映射
sudo sed -i 's/^FuseMountName=.*/#FuseMountName=thinclient_drives/' /etc/xrdp/sesman.ini

# 2. 或完全禁用 FUSE 通道
sudo sed -i 's/^ChansrvPort=.*/ChansrvPort=DISABLED/' /etc/xrdp/sesman.ini

# 3. 重启服务
sudo systemctl restart xrdp-sesman

重启后发现root目录和df -Th指令正常

相关推荐
大耳朵-小飞象8 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
极客侃科技8 小时前
制造企业 MES/APS 选型:SAP PP/DS 集成、ERP-MES 边界划分与一体化架构要点
运维·架构·制造
HLC++9 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室10 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
leoZ23110 小时前
记忆系统与 Agent 定制完全指南(四):自定义 Agent 开发(一)
前端·chrome
leoZ23111 小时前
记忆系统与 Agent 定制完全指南(三):记忆的检索与使用
前端·chrome
生活爱好者!11 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
groundhappy13 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
尽兴-13 小时前
企业业务系统架构选型与渐进式演进
运维·系统架构·devops
通信小小昕13 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu