运行脚本时 CIFS 共享已满,所有进程都卡在 D 状态。该怎么办?

运行脚本时 CIFS 共享已满,所有进程都卡在 D 状态。该怎么办?

标题基本概括了所有内容。

我有一个小脚本负责压缩和复制文件到 MS 共享文件夹。

显然,上周有一天,其他进程也必须将文件复制到同一台服务器,但由于空间不足,整个过程被挂起了。

尝试在已挂载的共享文件夹(在本例中为 /mnt/samba)中执行任何命令都会导致终端永远挂起。即使尝试也kill -9 pid无济于事。

我猜想某些主要过程堵塞了整个过程。

我尝试了sudo umount -l,虽然已挂载的共享似乎已卸载,但进程仍然存在并正在运行,因此我无法再次正确挂载它(我可以通过 Gnome 桌面中的“连接到服务器...”对话框进入共享,但我需要通过挂载它mount)。

我可以看到脚本的命令试图无限期地运行,但就像我之前说的,我无法终止它们,甚至无法从 root 用户终止它们。我已经重新启动了服务smb,但没有任何效果。

有没有办法强制 cifs 共享超时,或者以某种方式彻底终止所有相关的正在运行的进程,以便我可以再次挂载共享?(遗憾的是,目前无法重新启动 xD)。

我可以让那些 D 进程在那里运行,但我需要能够再次挂载共享。有什么想法吗?

相关内容