ls ведет себя по-другому под strace

Я использовал Почтальона на Постфиксе с успехом. Его администрирование командной строки легко понятно. Протест: они были всеми списками низкого трафика.

7
20.04.2012, 18:23
2 ответа

Как jw13 указанный, это - почти точный дубликат "ls занимающий много времени в маленьком каталоге" - по крайней мере, что касается объяснения. Удостоверьтесь, что прочитали комментарии там также!

Короче говоря некоторые популярные программы командной строки как ls может работать по-другому, когда их вывод не переходит непосредственно к терминалу. В этом самом случае, ls, который, вероятно, искажается к ls --color=auto, попытки обнаружить тип каждой записи каталога для окраски целей. В его точке это зависает, не мог выполнить a stat операция на Вашем sshfs-смонтированном каталоге.

Добавление к ответу MadScientist на упомянутый вопрос: Если Вам любопытно из как strace или gdb может помочь в отладке ls'поведение, я предполагаю, что Вы выполняете что-то как

 strace -o /tmp/log ls --color=always /home/user
5
27.01.2020, 20:19

Ну, это - общее поведение для программ при отладке, и не действительно преодолимое. Инициализация изменений переменных, существует больше доступной информации, процесс выполнения программы изменяется.

Или Вы получаете источник ls и выполняете его через другой отладчик, надеясь, что он покажет ошибку, или Вы пытаетесь найти ответ, обходное решение на других путях.

0
27.01.2020, 20:19
  • 1
    , который я попробовал gdb и ls, не заблокировал ни один –  user368507 20.04.2012, 18:48
  • 2
    @user5528: Таким образом, возможно, необходимо экспериментировать: Что происходит, если соединение SSH не потеряно? Можно ли отфильтровать sshfs-dir с ls [^s]* например? Что делает find ~ maxdepth -1 -ls урожай? проблема –  user unknown 20.04.2012, 19:00
  • 3
    , решенная в комментариях к исходному сообщению. спасибо –  user368507 20.04.2012, 19:03
  • 4
    отладчик не изменяет инициализацию переменных. Это может тонко изменить синхронизацию выполнения, поскольку это замедляет определенные части программы, и это может изменить поведение условий состязания и других особенно коварных ошибок, но не изменяет инициализацию. –  psusi 21.04.2012, 01:51
  • 5
    отладчик может определенно изменить инициализацию, когда переменные не инициализируются в коде. Они приятно инициализируются к 0 выполнениям в отладчике и инициализируются к тому, что находится в памяти в режиме выпуска. –  Étienne 15.05.2013, 10:49

Теги

Похожие вопросы