4

В Windows 10 я использую подсистему Linux. Сначала я открываю терминал cmd с администратором, затем запускаю bash в терминале cmd, а затем использую оболочку bash.

Иногда мой bash зависает при запуске в терминале.

Например, когда файл открывается каким-либо программным обеспечением в Windows, я пытаюсь переименовать родительский каталог файла с помощью mv fileParentDir fileParentDirnew в bash, после чего bash зависнет . Если я заставлю закрыть терминал bash, а затем снова открою новый терминал cmd, чтобы снова запустить bash , команда bash будет зависать. Проблема может быть решена путем перезапуска Windows.

Есть ли решение проблемы зависания, не перезагружая Windows?

Я гуглил, и некоторые говорили, что причиной может быть несколько файлов разделов. Но я использую только один раздел и файл раздела.

Благодарю.

2 ответа2

3

ЗАМЕЧАНИЕ . Исправление для этой ошибки было опубликовано публично.Если проблема не устранена, убедитесь, что Windows 10 обновлена.


Это известная проблема, и для восстановления необходимо перезагрузить компьютер:
Проблема 671 - пустая подпапка mv вызывает тупик - BashOnWindows GitHub.

Эта проблема была исправлена в Windows Insider Preview Build 14901 еще в августе.

Bash в Ubuntu для Windows - заметки о выпуске (сборка 14901)

Первая инсайдерская сборка для выпуска Windows 10 Anniversary Update.

Для получения общей информации Windows о сборке 14901 посетите блог Windows. Чтобы отследить или сообщить о проблеме, посетите нашу страницу Github.

Исправлена проблема с косой чертой. Такие команды, как $ mv a/c/ a/b/ теперь работают

Решения:

  1. Установите любой Windows Insider Preview Build 14901 или более поздней версии.
  2. Ждите Годовщины Обновление будет выпущено для всех
  3. Избегайте аргументов командной строки, заканчивающихся косой чертой.
1

Так что у меня тоже была эта проблема. Я нахожусь на ПК, присоединенном к домену, и это было частью проблемы, которую я считаю

При запуске команд после нажатия "Enter" оболочка зависала и сообщала мне (иногда), что не может найти мое "имя хоста". Я заметил, что это происходило каждый раз, когда я использовал sudo или когда я ожидал, что DNS вступит в игру.

Я выполнил эти команды:

# hostname --short
host    

hostname --domain
[error message]

Исходя из этого, я решил проверить файл имени хоста и убедиться, что мое полное доменное имя было установлено (не было)

/etc/hostname

Как только я установил это на host.domain.com, я запустил следующее:

sudo hostname -F /etc/hostname

У меня больше нет зависаний после запуска команд и больше нет жалоб на невозможность найти имена хостов. Я не уверен, что вы находитесь в домене, но если это так, возможно, стоит проверить.

ПРИМЕЧАНИЕ: по какой-то причине я должен делать это каждый раз, когда открываю bash. Это действительно расстраивает ...

ДРУГОЕ ПРИМЕЧАНИЕ: я считаю, что лучше всего запускать bash от имени администратора. Вы не можете даже использовать пинг без этого.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .