
我遇到了一個問題:我的 Ubuntu bash 在 SSH 登入後凍結除非我立即按 Ctrl+C。後台似乎正在載入某些內容。這個問題是在我收到大量 bash 訊息後開始出現的,例如:
watchpack error (watcher): error: enospc: system limit for number of file watchers reached, watch ....
當我嘗試使用 IntelliJ 遠端開發啟動 Angular 應用程式時會觸發該錯誤。如何解決這個問題並防止 SSH 登入後 bash 凍結?
更新(問題已解決):
在我的案例中,我遇到了終端凍結問題的根本原因。該問題與ng completion
我的 Angular 應用程式使用的命令有關。令人驚訝的是,該命令會自動附加到我的~/.bashrc
文件中,導致凍結行為。這是導致問題的具體行:
# Load Angular CLI autocompletion.
source <(ng completion script)
為了解決這個問題,我只是從文件中刪除了有問題的行~/.bashrc
。
我不確定這一行是如何出現在我的~/.bashrc
文件中的,但我懷疑它可能與我對 IntelliJ 遠端開發的使用有關。不過,這只是猜測,還需要進一步調查。
如果您遇到類似的問題,我建議您按照以下步驟恢復終端功能:
- 輸入 SSH 憑證後,立即按 Ctrl+C 多次。這將阻止執行我的文件中有問題的行
~/.bashrc
,並允許終端在我的情況下可用。 - 一旦可以存取終端,請檢查
~/.bashrc
文件中是否有任何意外或有問題的行,尤其是最近新增的行。就我而言,涉及的線路ng completion
是罪魁禍首。 - 刪除或註解掉
~/.bashrc
文件中可能導致凍結問題的任何可疑行。 - 儲存變更
~/.bashrc
並重新啟動終端或再次取得檔案以套用修改。
或者,您也可以臨時重命名整個文件以檢查這是否導致問題:使用cd ~
然後mv .bashrc newfilename
透過執行這些步驟,我能夠 (1.) 再次使用我的終端並 (2.) 解決凍結問題並恢復我的終端的正常功能。
未來的經驗教訓:擁有第二個可用於 SSH 登入的使用者帳戶總是好的。