>_ IzzyLab

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

Дождись фоновой задачи и забери код

сложно

Скрипт /root/worker.sh работает около секунды и завершается с кодом возврата 3. Запусти его в фоне, дождись его завершения и запиши его код возврата в /root/worker_rc.txt. Забрать нужно код именно этого фонового процесса.

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

Разбор темы

Символ & в конце команды отправляет процесс в фон, а шелл продолжает работу, не дожидаясь его. PID последнего запущенного фонового процесса шелл кладёт в специальную переменную $!, а код возврата последней завершившейся команды — в $?. Встроенная команда wait умеет заблокироваться до завершения конкретного фонового процесса по его PID и «пробросить» его код выхода — так можно надёжно забрать результат именно нужной задачи, а не какой-то посторонней.

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

  1. код фоновой задачи получен

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