Как узнать, что происходит в фоновом режиме, когда мы запускаем файл .sh в Linux?

Я знаю один путь, то есть ./filename.sh > log.txt . Но этот файл журнала содержит содержимое, которое отображается в консоли, если мы запустим файл, используя ./filename.sh .

Фоновый процесс не отображается в файле журнала. Под «фоновым процессом» я подразумеваю, как компилятор оценивает каждую строку (это слово «debug» подходит, я думаю).

Как получить этот фоновый процесс в файл журнала?

  • Как объединить & & &&?
  • Длина строки со сценарием оболочки
  • Печатать строку несколько раз
  • напечатать IP-адрес с именем интерфейса
  • Я неправильно использую цикл while?
  • Скрипт Bash; оптимизация скорости обработки
  • что такое >> символ и> и в unix / Linux?
  • Как объединить два файла в один с столбцами для данных каждого файла?
  • 2 Solutions collect form web for “Как узнать, что происходит в фоновом режиме, когда мы запускаем файл .sh в Linux?”

    Основываясь на вашем комментарии:

    Я хочу сказать, что я хотел бы знать, «Как bash выполняет каждую строку сценария оболочки» при запуске файла .sh.

    Если вы используете bash, то то, что вы ищете, это:

     bash -x ./filename.sh 

    или

     bash -x ./filename.sh > log.txt 

    В качестве альтернативы вы можете добавить:

     set -x 

    к содержимому filename.sh .

    В верхней части скрипта (после Shebang) добавьте строку:

     exec >/path/to/log.txt 

    перенаправить STDOUT скрипта на /path/to/log.txt .

    Если вы хотите перенаправить оба STDOUT и STDERR:

     exec >/path/to/log.txt 2>&1 

    Или просто STDERR:

     exec 2>/path/to/log.txt 

    Теперь, независимо от того, что сценарий находится на переднем плане или в фоновом режиме, файл журнала будет иметь STDOUT (и / или STDERR).

    Interesting Posts

    Значок / настройки громкости, не отображаемые в «системном трее», до этого просто исчезли

    Как использовать управление bash на клавиатуре

    Выполните две команды параллельно, но только дождитесь завершения одной команды, прежде чем запускать следующую

    Лучший способ запустить команду для каждого файла в дереве каталогов

    Gnome, nautilus копирует файлы на USB-стоп на 100% или около

    В чем разница между start-stop-daemon и запуском с &?

    Как сохранить процесс (стресс), пока я не проведу тестовую проверку

    службы debian не работают

    Как удалить nginx (установленный из исходного кода)?

    Установка пакетов Ubuntu / Debian на Arch

    ssh изменить пользователя и выполнить команду

    Диагностировать использование swap в AIX

    Выход из бесконечного цикла перезагрузки при запуске (rc.local)

    Как сделать символическую ссылку на / usr / bin / vim, но с параметрами запуска?

    Звуковой тон / синусоидальный генератор с частотным датчиком

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