GNU/Linux >> Znalost Linux >  >> Linux

Zablokuje se dokončování karty?

Když poprvé otevřu terminál nebo otevřu nový poté, co jsem jej nějakou dobu nepoužíval, jakýkoli druh dokončení karty v mém domovském adresáři (například ls a Tab ) trvá několik sekund. Toto chování jsem již viděl při použití autofs připojit síťové disky, ale v ~/ žádné nemám . Sdílené položky NFS připojuji pomocí automatického připojení systemd, ale ty jsou v ~/badabing/ , takže vše v ~/ sám o sobě je pouze místním souborem.

V případě, že se jedná o problém s automatickým připojením, zde jsou příslušné /etc/fstab linek (ano, server se jmenuje „badabing“, pojmenoval jsem ho před několika lety během flámu Sopranos):

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

Poté v ~/badabing Mám:

$ 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

Rád bych to prozkoumal více. Mohu nějak strace dokončení karty? Je to jediný způsob, jak přidat echo příkazy v různých skriptech pro dokončení bash, abyste viděli, co visí? Je jich docela dost, takže bych se tomu opravdu raději vyhnul.

Co to tedy způsobuje, nebo alespoň jak to mohu dále ladit?

Přijatá odpověď:

Udělal bych toto:

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

kde XXXX je id procesu bash. Při rychlé kontrole dokončení souboru na jednom z mých adresářových stromů připojených k NFS funguje bez problémů:

-f

Sledujte podřízené procesy tak, jak jsou vytvářeny aktuálně sledovanými procesy v důsledku systémového volání fork(2).

-t

Před každým řádkem trasování uveďte čas dne.

Někteří lidé mohou preferovat -r :

-r

Vytiskněte relativní časové razítko při vstupu do každého systémového volání. To zaznamenává časový rozdíl mezi začátkem po sobě jdoucích systémových volání.


Linux
  1. Návod na snadné dokončení bash??

  2. Skript Shell visí na příkazu Mail?

  3. Chyby dokončování karty:Bash:Nelze vytvořit dočasný soubor pro dokument zde:Na zařízení nezbývá místo?

  1. Zrušit dokončení, ale pouze dokončení, v Zsh?

  2. Jak opravit, že dokončování karet nefunguje v Ubuntu a Debianu

  3. Průvodce monitorováním prostředků Windows

  1. Řazení souboru odděleného tabulátory

  2. příkaz openssl se zablokuje

  3. Dokončení karty v relacích SSH v režimu shell Emacs