GNU/Linux >> Linux の 問題 >  >> Linux

タブ補完がハングしますか?

ターミナルを最初に開いたとき、またはしばらく使用しなかった後に新しいターミナルを開いたとき、ホームディレクトリ内の任意の種類のタブ補完(たとえば、ls およびタブ )数秒かかります。 autofsを使用するときに、この動作を以前に見ました。 ネットワークドライブをマウントしますが、~/には何もありません 。 systemdの自動マウントを使用してNFS共有をマウントしますが、それらは~/badabing/にあります 、つまり~/のすべて それ自体は単なるローカルファイルです。

自動マウントの問題である場合は、関連する/etc/fstabをご覧ください。 行(はい、サーバーは「badabing」と呼ばれます。数年前のソプラノスのビンジで名前を付けました):

badabing:/nfs_shares/music /mnt/badabing/music    nfs4  noauto,x-systemd.automount,x-systemd.device-timeout=5sec,x-systemd.idle-timeout=1min    0 0
badabing:/nfs_shares/series /mnt/badabing/series  nfs4  noauto,x-systemd.automount,x-systemd.device-timeout=5sec,x-systemd.idle-timeout=1min    0 0
badabing:/nfs_shares/movies /mnt/badabing/movies  nfs4  noauto,x-systemd.automount,x-systemd.device-timeout=5sec,x-systemd.idle-timeout=1min    0 0

次に、~/badabing 私が持っている:

$ ls -l ~/badabing/
total 0
lrwxrwxrwx 1 terdon terdon 32 Jan 10  2016 movies -> /mnt/badabing/nfs_shares/movies/
lrwxrwxrwx 1 terdon terdon 31 Jan 10  2016 music -> /mnt/badabing/nfs_shares/music/
lrwxrwxrwx 1 terdon terdon 31 Jan 10  2016 series -> /mnt/badabing/nfs_shares/series

これについてもっと調べたいと思います。どういうわけかstraceを使用できますか? タブ補完? echoを追加する唯一の方法です 何がぶら下がっているのかを確認するためのさまざまなbash完了スクリプトのコマンドそれらはかなりたくさんあるので、私はむしろそれを避けたいと思います。

それで、これを引き起こしているのは何ですか、または少なくとも、どうすればさらにデバッグできますか?

承認された回答:

私はこれを行います:

sudo strace -pXXXX -tfo /tmp/strace.log

ここでXXXX bashのプロセスIDです。 NFSマウントされたディレクトリツリーの1つでファイル名の補完を簡単にチェックすると、問題なく機能します。

-f

fork(2)システムコールの結果として現在トレースされているプロセスによって作成された子プロセスをトレースします。

-t

トレースの各行の前に時刻を付けます。

-rを好む人もいるかもしれません :

-r

各システムコールへのエントリ時に相対タイムスタンプを出力します。これにより、連続するシステムコールの開始間の時間差が記録されます。


Linux
  1. 簡単なBash完了チュートリアル??

  2. シェルスクリプトがメールコマンドでハングアップしますか?

  3. UbuntuとDebianでタブ補完が機能しない問題を修正する方法

  1. Windowsリソース監視ガイド

  2. Java ProcessBuilder:結果のプロセスがハングする

  3. Emacs シェルモード SSH セッションでのタブ補完

  1. pip3 install pandas がハングする

  2. vimでタブを4つのスペースに設定するには?

  3. ./を指定せずにbashファイルを補完