Размонтирование общей папки SMB

Я смонтировал папку общего доступа SMB в / mnt / smb /, и я могу получить доступ к файлам. Когда я размонтирую эту общую папку с помощью команды:

umount /mnt/smb/

естественно, я не могу перечислить содержимое общей папки с помощью команды:

ls /mnt/smb/

Но проблема в том, что когда я запускаю команду ls из файла PHP на том же компьютере, содержимое общей папки SMB может быть указано! Содержимое файла PHP:

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

В чем моя ошибка Есть ли какой-либо другой комманд, необходимый для полного размонтирования общего ресурса SMB? Я также использовал команду ниже, но не повезло:

fusermount -u /mnt/smb/

1

Решение

Когда команда mount выполняется более одного раза, в фоновом режиме открывается несколько сеансов. Выполнение команды монтирования u (n) завершает только один из сеансов, в то время как другие сеансы активны в фоновом режиме. Активные сеансы можно увидеть, выполнив эту команду:

mount | grep /mnt/smb

Выполнение команды u (n) mount снова прекращает активные сеансы один за другим и решает проблему. Я использовал этот скрипт для запуска команды монтирования u (n) столько раз, сколько необходимо:

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
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]