Как strace знает, как использовать / bin / echo вместо сбоев на встроенном

Когда я использую strace echo hello , я вижу, что он использует /bin/echo , но сначала нужно найти встроенное echo . Является ли функция strace пропускать встроенные команды? strace – версия 4.5.19

Я понимаю, что strace не будет работать со встроенными командами, как это работает на системных исполняемых файлах.

  • mc медленно запускается
  • Как ssh всегда удается сбросить атрибуты терминала?
  • Linux strace не соответствует дочерним процессам даже с -f (многопоточным родителем)
  • Java-эквивалент strace
  • Почему «w» здесь требует больше системных вызовов, чем простой скрипт python?
  • Как отладить сбой семпла?
  • Пример нескольких строк из распечатки strace
  • Как «раскодировать» сокет домена unix?
  • 2 Solutions collect form web for “Как strace знает, как использовать / bin / echo вместо сбоев на встроенном”

    Поскольку strace не является оболочкой, strace использует exec.

    Надеюсь, поможет.

    Когда вы вводите команду в оболочку (например, echo hello world ), оболочка интерпретирует эту команду и проверяет, можно ли использовать встроенную команду оболочки, прежде чем искать отдельный исполняемый файл.

    Когда вы используете strace , вы просите его найти исполняемый файл и запустить его от вашего имени. В отличие от оболочки, у strace нет встроенных собственных команд.

    Linux и Unix - лучшая ОС в мире.