卸载SMB共享文件夹

时间:2018-02-15 19:01:51

标签: php smb unmount

我在/ mnt / smb /下安装了一个SMB共享文件夹,我可以访问这些文件。当我使用命令

卸载此共享文件夹时
umount /mnt/smb/

我自然无法使用命令列出共享文件夹内容:

ls /mnt/smb/

但问题是当我从同一台机器上的PHP文件运行ls命令时,可以列出共享SMB文件夹的内容! PHP文件的内容是:

<?php
  $command = 'ls /mnt/smb/';
  $result = shell_exec($command);
  echo $result;
?>

我的错误是什么。完全卸载SMB共享需要其他任何commanf吗?我也用下面的命令,但没有运气:

fusermount -u /mnt/smb/

1 个答案:

答案 0 :(得分:0)

当mount命令运行多次时,会在后台打开多个会话。运行u(n)mount命令,仅在其他会话在后台处于活动状态时终止其中一个会话。运行此命令可以看到活动会话:

mount | grep /mnt/smb

再次运行u(n)mount命令会逐个终止活动会话并解决问题。我使用这个脚本根据需要多次运行u(n)mount命令:

if [ "$(sudo mount | grep /mnt/smb)" != "" ]; then
  sudo umount -l /mnt/smb/;
  smbContents=$(sudo mount | grep /mnt/smb);
fi

while [ "$smbContents" != "" ]; do
  sudo umount -l /mnt/smb/;
  smbContents=$(sudo mount | grep /mnt/smb);
done