我在/ 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/
答案 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