ОБНОВЛЕНИЕ (проблема решена):

ОБНОВЛЕНИЕ (проблема решена):

Я столкнулся с проблемой, из-за которой мой Ubuntu bash зависает после входа по SSH.если я не нажму Ctrl+C немедленно. Кажется, что-то загружается в фоновом режиме. Эта проблема начала возникать после того, как я получил множество сообщений bash, например:

watchpack error (watcher): error: enospc: system limit for number of file watchers reached, watch ....

которые были вызваны, когда я пытался запустить приложение Angular с помощью IntelliJ Remote Development. Как я могу решить эту проблему и предотвратить зависание моего bash после входа по SSH?

ОБНОВЛЕНИЕ (проблема решена):

Я столкнулся с основной причиной проблемы зависания терминала в моем случае. Проблема была связана с командой, ng completionиспользуемой для моего приложения Angular. Удивительно, но эта команда была автоматически добавлена ​​в мой ~/.bashrcфайл, что привело к зависанию. Вот конкретная строка, вызвавшая проблему:

# Load Angular CLI autocompletion.
source <(ng completion script)

Чтобы решить эту проблему, я просто удалил проблемную строку из ~/.bashrcфайла.

Я не уверен, как эта строка оказалась в моем ~/.bashrcфайле, но подозреваю, что это может быть связано с моим использованием IntelliJ Remote Development. Однако это всего лишь предположение, требующее дальнейшего расследования.

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

  1. Сразу после ввода учетных данных SSH нажмите Ctrl+C несколько раз. Это предотвратит выполнение проблемной строки в моем ~/.bashrcфайле и позволит терминалу стать пригодным для использования в моем случае.
  2. Как только терминал станет доступен, проверьте файл на наличие неожиданных или проблемных строк, особенно тех, которые были недавно добавлены. В моем случае виновником была ~/.bashrcстрока с участием .ng completion
  3. Удалите или закомментируйте все подозрительные строки в ~/.bashrcфайле, которые могут быть причиной зависания.
  4. Сохраните изменения ~/.bashrcи перезапустите терминал или снова откройте файл, чтобы применить изменения.

В качестве альтернативы вы также можете временно переименовать весь файл, чтобы проверить, является ли это причиной проблемы: используя cd ~и затемmv .bashrc newfilename

Выполнив эти шаги, я смог (1) снова использовать свой терминал и (2) решить проблему зависания и восстановить нормальную функциональность моего терминала.

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

Связанный контент