>_ IzzyLab

Практическое задание

Фоновые задачи: wait и коды

сложно

Напиши скрипт, который запускает три фоновые команды — true, false, true (именно в этом порядке), дожидается каждую через wait по её PID и записывает их коды возврата в /root/codes.txt (по одному на строку, в порядке запуска). Ожидается 0, 1, 0.

Что потренируешь:
  • wait
  • фоновые задачи
  • $!
  • $?
  • коды возврата

Разбор темы

Когда команда запускается в фоне через &, шелл не блокируется и продолжает работу, а PID запущенного процесса кладётся в $! — но эта переменная перезаписывается при каждом новом фоновом запуске, поэтому нужный PID надо сохранять в отдельную переменную немедленно. Встроенная команда wait PID дожидается конкретного процесса и, что ключевое, устанавливает $? в его код завершения. Так можно запустить несколько задач параллельно, а затем собрать их коды по порядку. Напомню: true завершается с кодом 0, false — с 1.

Что проверяется

  1. коды возврата собраны верно (0,1,0)

Как это выглядит